ID: 34657 Updated by: [EMAIL PROTECTED] 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] [EMAIL PROTECTED] 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] [EMAIL PROTECTED] 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] [EMAIL PROTECTED] 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
