Edit report at https://bugs.php.net/bug.php?id=49513&edit=1
ID: 49513
Comment by: jeroen at asystance dot nl
Reported by: amr dot mostafa at gmail dot com
Summary: SoapServer->fault() shouldn't halt execution
Status: Open
Type: Feature/Change Request
Package: SOAP related
Operating System: GNU/Linux
PHP Version: 5.3.0
Block user comment: N
Private report: N
New Comment:
This behavior is very undesirable!
How can I let a client know about the fault _and_ do server-side Exception
handling?
I'd love to do
try {
$server->handle();
} catch (Exception $e) {
$server->fault($e->getCode(), $e->getMessage());
throw $e;
}
To have default handling for uncaught Exceptions (which logs to file, email,
whatever), but that's not possible.
Previous Comments:
------------------------------------------------------------------------
[2009-09-09 12:54:09] amr dot mostafa at gmail dot com
Description:
------------
Calling SoapServer->fault() causes execution to terminate, there is no way for
the developer to get the XML response itself and process it differently.
Reproduce code:
---------------
$server = SoapServer(NULL, array('location' => 'http://example.com', 'uri' =>
'http://example.com'));
$server->fault('foo', 'bar');
echo 'We are past $sever->fault()!'
Expected result:
----------------
We are past $server->fault()!
Actual result:
--------------
"We are past $server->fault()!" is never printed, only the XML for the SOAP
Fault is.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=49513&edit=1