There are only a few legitimate "codes" that a SOAP fault can have and be understood by most clients in accordance with the protocol. You can't just pass in, for example, a database error code or you'll get a fatal error like "SoapFault::__construct(): Invalid parameters. Invalid fault code."
The ones you generally want to use are "Sender" where you've gotten bad parameters, or "Receiver" where the server has gotten an error for some reason.
See here:
http://www.w3.org/TR/soap12-part1/#faultcodes
SoapFault->__construct
(No version information available, might be only in CVS)
SoapFault->__construct — SoapFault constructor
Description
This class is useful when you would like to send SOAP fault responses from the PHP handler. faultcode , faultstring , faultactor and details are standard elements of SOAP Fault;
Parameters
- faultcode
-
The error code of the SoapFault.
- faultstring
-
The error message of the SoapFault.
- faultactor
-
A string identifying the actor that caused the error.
- detail
-
- faultname
-
Can be used to select the proper fault encoding from WSDL.
- headerfault
-
Can be used during SOAP header handling to report an error in the response header.
Examples
Example #1 Some examples
<?php
function test($x)
{
return new SoapFault("Server", "Some error message");
}
$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>
It is possible to use PHP exception mechanism to throw SOAP Fault.
Example #2 Some examples
<?php
function test($x)
{
throw new SoapFault("Server", "Some error message");
}
$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>
SoapFault->__construct
14-Jul-2008 03:10
