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-Konstruktor
Beschreibung
Diese Klasse ist sinnvoll, um SOAP-Fehler als Antwort zu versenden. faultcode , faultstring , faultactor und details sind Standardwerte eines SOAP-Fehlers;
Parameter-Liste
- faultcode
-
Fehlercode eines SoapFault.
- faultstring
-
Fehlerbeschreibung eines SoapFault.
- faultactor
-
Zeichenkette die den Verursacher des Fehlers identifiziert.
- detail
-
- faultname
-
Kann verwendet werden um den eigentlichen Fehler aus der WSDL-Definition zu erhalten.
- headerfault
-
Kann während der SOAP-Header Behandlung genutzt werden, um einen Fehler im Antwort-Header zu melden.
Beispiele
Beispiel #1 Beispiele
<?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();
?>
Das PHP-Exception-Handling kann genutzt werden um einen SOAP-Fehler zu werfen.
Beispiel #2 Beispiele
<?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 09:10
