ID: 34657
Updated by: sniper@php.net
Reported By: gareth at wsys dot co dot uk
-Status: Open
+Status: Assigned
Bug Type: SOAP related
Operating System: Windows, Linux
-PHP Version: 5.0.5
+PHP Version: 5.1.2
-Assigned To:
+Assigned To: dmitry
New Comment:
Assigned to the maintainer.
Previous Comments:
------------------------------------------------------------------------
[2006-01-13 14:20:13] gareth at wsys dot co dot uk
The only solution I have come up with for this problem is to put the
SOAP call into a seperate php file and then use it with exec().
This does however limit the input/output options available.
------------------------------------------------------------------------
[2005-10-05 01:00:09] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2005-09-28 08:40:33] garadox47 at ntlworld dot com
I have tried the latest window version you provided a link to, it still
throws an uncatchable fatal error.
------------------------------------------------------------------------
[2005-09-27 19:07:37] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
------------------------------------------------------------------------
[2005-09-27 14:32:25] gareth at wsys dot co dot uk
Description:
------------
When using the SOAP Client, it normally throws a catchable SoapFault
exception. This helps to elegantly fail if there is a problem with a
Web Service.
However, if the problem occurs when loading the WSDL, it throws a PHP
Fatal Error, which cannot be caught.
This means that if you want to use a web service in a web application,
you cannot handle the error (e.g. there is network congestion, or the
server hosting the web service goes down).
Is this intentional, I am not sure.
If it is intentional (and I hope not given the fact that you are
requesting information from a completely different server, not under
your control), any chance this can be changed to throw either a
SoapFault Exception, or just something that can be caught?
Reproduce code:
---------------
try {
$sc = new SoapClient("some.wsdl", array());
} catch (Exception $e) {
echo 'Error Caught';
}
Expected result:
----------------
Error Caught
Actual result:
--------------
Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from '{URL
Removed}'
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=34657&edit=1