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: Forgot my version details: # php -v PHP 5.3.3 (cli) (built: Jul 26 2010 14:55:07) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by eAccelerator with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans Previous Comments: ------------------------------------------------------------------------ [2010-09-02 19:14:24] gem at rellim dot com 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 # ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ 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