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

From: Date: Thu, 02 Sep 2010 17:33:05 +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-154060@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: Not catchable for me with XDebug and your example: # cat tmp.php <?php try { $x = @new SoapClient("non-existent.wsdl",array("exceptions" => 1)); } catch (SoapFault $E) { echo $E->faultstring; } echo "ok\n"; ?> # php tmp.php # Previous Comments: ------------------------------------------------------------------------ [2010-09-02 19:22:02] rasmus@php.net It is a catchable fatal though. eg. <?php try { $x = @new SoapClient("non-existent.wsdl",array("exceptions" => 1)); } catch (SoapFault $E) { echo $E->faultstring; } echo "ok\n"; ------------------------------------------------------------------------ [2010-09-02 19:20:22] gem at rellim dot com Hmm, on 2nd look, it does now appear catchable w/o XDebug, but not with XDebug. Ideas? ------------------------------------------------------------------------ [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 # ------------------------------------------------------------------------ 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 (#154060) next »