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: It fails similarly without XDebug: # 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 # php tmp.php 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 ok # Previous Comments: ------------------------------------------------------------------------ [2010-09-02 19:15:22] gem at rellim dot com 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 ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ 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