Errors in SOAP should be returned as SOAP Faults. A SOAP Fault
contains specific information detailing the reason for the Fault. PEAR::SOAP provides
a SOAP_Fault class to aid in returning faults.
SOAP Fault in a SOAP Message
<SOAP-ENV:Fault>
<faultcode xsi:type="xsd:QName">
SOAP-ENV:Client
</faultcode>
<faultstring xsi:type="xsd:string">
You sent an empty string
</faultstring>
<faultactor xsi:type="xsd:anyURI">
urn:SOAP_Example_Server
</faultactor>
<detail xsi:type="xsd:string"/>
</SOAP-ENV:Fault>
Faults can be of four basic types: VersionMismatch, MustUnderstand,
Client and Server:
- • VersionMismatch: invalid namespace for the SOAP Envelope
- • MustUnderstand: a required header was not understood by the server
- • Client: the message sent by the client was not properly formed, or did
not contain the necessary information to fulfill the request.
- • Server: the message could not be processed
Faults can also contain other information, such as a
basic message describing the fault, the URI of the originator of the fault, and a
detail field that can be used to provide additional information on the fault.