ID: 34657 Updated by: cwei...@php.net Reported By: gareth at wsys dot co dot uk Status: Bogus Bug Type: SOAP related Operating System: Windows, Linux PHP Version: 5.1.6 Assigned To: dmitry New Comment:
http://bugs.xdebug.org/view.php?id=249 Previous Comments: ------------------------------------------------------------------------ [2007-03-30 10:10:52] dmi...@php.net This is a XDEBUG issue, ext/soap may fix nothing. ------------------------------------------------------------------------ [2007-03-26 15:41:48] justin dot hendrickson+pear at gmail dot com Work around: try { if(!...@file_get_contents($wsdl)) { throw new SoapFault('Server', 'No WSDL found at ' . $wsdl); } $soap = new SoapClient($wsdl); // ... } catch(SoapFault $e) { // ... } ------------------------------------------------------------------------ [2007-03-15 10:24:30] craigf at togetheragency dot co dot uk Contrary to my previous post, the error is not platform specific, but rather, a conflict with the xdebug module. With xdebug enabled, the soapfault does not get raised. Using xdebug_disable() prior to the try/catch block will result in the expected result of a catch with soapfault. Warnings still exist, but can be disabled with error_reporting() prior to the try/catch as with xdebug. ------------------------------------------------------------------------ [2007-03-14 23:01:35] craigf at togetheragency dot co dot uk 5.2.2-dev as of today (and 5.2.1) on windows is not raising a SoapFault exception regardless of if exceptions is true or false, as stated by jhendric. However, 5.2.1 on FreeBSD 4 (installed from ports) is raising an uncaught SoapFault exception as was stated by gareth . So it appears to be platform specific. In both cases, 3 additional warnings are raised. IIS: Warning: SoapClient::SoapClient(): php_network_getaddresses: getaddrinfo failed: No such host is known. in c:\web\test.php on line 2 Warning: SoapClient::SoapClient(h^tp://some.random.host/test.wsdl): failed to open stream: No such file or directory in c:\web\test.php on line 2 Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "h^tp://some.random.host/test.wsdl" in c:\web\test.php on line 2 Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'h^tp://some.random.host/test.wsdl' in c:\web\test.php on line 2 FreeBSD 4: Warning: SoapClient::SoapClient(): php_network_getaddresses: getaddrinfo failed: No address associated with hostname in /usr/home/www/test.php on line 2 Warning: SoapClient::SoapClient(h^tp://some.random.host/test.wsdl): failed to open stream: Unknown error: 0 in /usr/home/www/test.php on line 2 Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "h^tp://some.random.host/test.wsdl" in /usr/home/www/test.php on line 2 Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'h^tp://some.random.host/test.wsdl' in /usr/home/www/test.php:2 Stack trace: #0 /usr/home/www/test.php(2): SoapClient->SoapClient('h^tp://some.ran...') #1 {main} thrown in /usr/home/www/test.php on line 2 Note: had to replace http due to spam filter. ------------------------------------------------------------------------ [2007-02-21 17:25:59] lsm...@php.net In general nothing in ext/soap should be fatal if its not within the control of the local php application. This means missing WSDL, changes to the WSDL etc. All of this needs to be catchable in some way or another (exception, returning false .. etc). Also if an exception is thrown no warnings should be thrown for the same issue. ------------------------------------------------------------------------ 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