SOAP Faults
Before concluding our discussion on web services and the associated concepts, we should look at the fault handling mechanism of web services. Faults can be returned by web services due to various reasons. For example, if the request message does not conform to the XML schema of web service, the service responds back with a SOAP Fault. The SOAP Fault element is used to carry such faults occurred during web service communication. This element must be included inside body of a SOAP message. A typical SOAP 1.1 Fault message consists of the following child elements:
faultcode
: Thefaultcode
element is used to define the type of the fault. For example, if the problem of message transmission is due to the server, the associated faultcode isServer
. Similarly, we can useVersionMismatch
,MustUnderstand
andClient
error codes as appropriate.faultstring
: Thefaultstring
element is intended to provide a human readable explanation about the fault.faultactor
: Thefaultactor
element provides an indication about the responsible party who caused the fault to occur in the message path.detail
: Thedetail
element is used to carry application specific error information related to the body element. For example, if the payload of the SOAP request is unable cannot be processed by web service, the associated response should include the detail element inside the SOAP Fault.
In the case of SOAP v1.2 messaging, faultcode
is renamed to Code
and faultstring
is renamed to Reason
. In addition to that, a SOAP v1.2 Fault message can include the optional child elements, Node
, Role,
and Detail
. A detailed explanation of SOAP 1.1 Faults can be found at http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383507. SOAP 1.2 Faults are explained in detail at http://www.w3.org/TR/soap12-part1/#soapfault.