#34657 [Opn]: If you get a communication problem when loading the WSDL, it fatal's

From: Date: Thu, 21 Dec 2006 23:32:25 +0000
Subject: #34657 [Opn]: If you get a communication problem when loading the WSDL, it fatal's
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-106763@lists.php.net to get a copy of this message
ID: 34657 Updated by: edink@php.net Reported By: gareth at wsys dot co dot uk Status: Open Bug Type: SOAP related Operating System: Windows, Linux PHP Version: 5.1.6 Assigned To: dmitry New Comment: I get 3 warning + a SoapFault exception when running Lukas' test case there. The output is: Warning: SoapClient::SoapClient(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/ek/projects/php_5_2/t on line 4 Warning: SoapClient::SoapClient(http://i_dont_exist.com/some.wsdl): failed to open stream: No such file or directory in /home/ek/projects/php_5_2/t on line 4 Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "http://i_dont_exist.com/some.wsdl" in /home/ek/projects/php_5_2/t on line 4 string(9) "SoapFault" NULL I think getting 3 warning and an exception for failing to load WSDL file is a bit excessive though :) Previous Comments: ------------------------------------------------------------------------ [2006-12-19 14:10:44] lsmith@php.net I can reproduce this error with php 5.1.4 and 5.2.0 on windows. And it seems Derick was also able to reproduce it on Linux. Using the following we get 3 warnings and a fatal error: <?php try { $client = new SoapClient('http://i_dont_exist.com/some.wsdl'); } catch (SoapFault $e) { var_dump(get_class($e)); } catch (Exception $e) { var_dump(get_class($e)); } var_dump($client); It really should not do anything but throw an exception, as this is what is defined to happen for fatal errors in constructors for all extensions. ------------------------------------------------------------------------ [2006-09-12 09:56:52] gareth at wsys dot co dot uk OK, the debug information shows that the Soap client class is now throwing an uncaught SoapFault exception (which causes the fatal error). with a try{ } catch(SoapFault $exception) I can continue the script. I've closed the bug. ------------------------------------------------------------------------ [2006-09-12 08:56:12] dmitry@php.net I cannot reproduce the bug even with 5.1.4. Try "php -d log_errors=0 test.php". May be you are seeing log message and don't see "Error Caught" after it? ------------------------------------------------------------------------ [2006-09-11 07:50:34] gareth at wsys dot co dot uk I have tried to use set_error_handler(), but as you know it cannot catch fatal errors. Does anyone else have a workaround? ------------------------------------------------------------------------ [2006-09-08 21:50:38] tony2001@php.net See also bug #38703. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/34657 -- Edit this bug report at http://bugs.php.net/?id=34657&edit=1

« previous php.bugs (#106763) next »