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] [email protected]
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