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