ID: 34657 Updated by: [EMAIL PROTECTED] Reported By: gareth at wsys dot co dot uk -Status: Open +Status: Bogus Bug Type: SOAP related Operating System: Windows, Linux PHP Version: 5.1.6 Assigned To: dmitry New Comment:
This is a XDEBUG issue, ext/soap may fix nothing. Previous Comments: ------------------------------------------------------------------------ [2007-03-26 15:41:48] justin dot hendrickson+pear at gmail dot com Work around: try { if([EMAIL PROTECTED]($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] [EMAIL PROTECTED] 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. ------------------------------------------------------------------------ [2007-01-15 15:53:18] jhendric at sierra-bravo dot com Similar problem here with PHP 5.1.6. try { $soap = new SoapClient('[...]', array('exceptions' => true)); // Note: Same results without or without exceptions => true } catch(Exception $e) { var_dump($e); } Results in: Warning: SoapClient::__construct([...]) [function.SoapClient---construct]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in [...] Warning: SoapClient::__construct() [function.SoapClient---construct]: I/O warning : failed to load external entity "..." in [...] Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from '[...]' in [...] ------------------------------------------------------------------------ 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