Bug #47584 [Com]: WSDL error in soapClient causes Fatal Error

From: Date: Thu, 02 Sep 2010 17:20:22 +0000
Subject: Bug #47584 [Com]: WSDL error in soapClient causes Fatal Error
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-154058@lists.php.net to get a copy of this message
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: Hmm, on 2nd look, it does now appear catchable w/o XDebug, but not with XDebug. Ideas? Previous Comments: ------------------------------------------------------------------------ [2010-09-02 19:17:36] gem at rellim dot com 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 # ------------------------------------------------------------------------ [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] dmitry@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. ------------------------------------------------------------------------ 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

« previous php.bugs (#154058) next »