Edit report at http://bugs.php.net/bug.php?id=47584&edit=1
ID: 47584 Comment by: gem at rellim dot com Reported by: gem at rellim dot com Summary: WSDL error in soapClient causes Fatal Error Status: Feedback Type: Bug Package: SOAP related Operating System: Linux PHP Version: 5.2.9 Assigned To: dmitry Block user comment: N New Comment: Your example fails for me, I can not catch the error: # cat tmp.php <?php try { $x = new SoapClient("non-existent.wsdl"); } catch (Exception $e) { } echo "ok\n"; ?> # php tmp.php PHP Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "non-existent.wsdl" in /tmp/tmp.php on line 3 PHP Stack trace: PHP 1. {main}() /tmp/tmp.php:0 PHP 2. SoapClient->SoapClient() /tmp/tmp.php:3 PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'non- existent.wsdl' : failed to load external entity "non-existent.wsdl" in /tmp/tmp.php on line 3 PHP Stack trace: PHP 1. {main}() /tmp/tmp.php:0 PHP 2. SoapClient->SoapClient() /tmp/tmp.php:3 # Previous Comments: ------------------------------------------------------------------------ [2010-09-02 10:40:34] dmi...@php.net BTW despite SoapClient emits a fatal error it already throws exception which can be caught (even in 5.2 brunch). <?php try { $x = new SoapClient("non-existent.wsdl"); } catch (Exception $e) { } echo "ok\n";' ?> ------------------------------------------------------------------------ [2010-06-24 01:55:11] gem at rellim dot com This is a still a 100% show stopper for me. I can not make PHP pages live that will crash on simple network errors. ------------------------------------------------------------------------ [2010-06-22 10:35:23] florent dot biville at insa-rouen dot fr I can confirm I encounter the same problem. Despite everything documented, problems with WSDL reading will trigger a fatal error. ------------------------------------------------------------------------ [2010-04-09 07:41:35] pwb at evanr dot com This is a real issue, even when the SoapClient is set to throw exceptions and not errors. This fatal error cannot be defeated even with the exceptions option set to true. We're experiencing this in 5.2.13 on linux x64. A fatal error is thrown not only when WSDL can't be loaded but as well when an internal reference in the WSDL (e.g. to a namespace) cannot be imported/resolved. ------------------------------------------------------------------------ [2009-03-06 17:49:08] gem at rellim dot com Why does it work OK for you and not for me? Just because it works on one host for you does not mean it does not fail for me. This is the entire program to reproduce: <?php $client = new soapClient('http://google.com'); ?> PHP Fatal error: SOAP-ERROR: Parsing WSDL: XXXX I can reproduce on several different hosts. I am not running Xdebug, eaccelerator, or any other add 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/bug.php?id=47584 -- Edit this bug report at http://bugs.php.net/bug.php?id=47584&edit=1