Error handling with SOAP

Fault Element structure

Sub ElementDescription
<faultcode>A code for identifying the fault
<faultstring>A human readable explanation of the fault
<faultactor>Information about who caused the fault to happen
<detail>

Holds application specific error information related to the Body element. 
MailUpService returns a MailUpFaultDetail object, which is composed of ErrorCode and ErrorDesc fields

FaultCodes

ErrorDescription
VersionMismatchFound an invalid namespace for the SOAP Envelope element
MustUnderstandAn immediate child element of the Header element, with the mustUnderstand attribute set to "1", was not understood
ClientThe message was incorrectly formed or contained incorrect information
ServerThere was a problem with the server so the message could not proceed

Example

Here below you can find an example of SOAP Fault for authentication request

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <s:Fault>
         <faultcode>s:Client</faultcode>
         <faultstring xml:lang="en-US">Login failed</faultstring>
         <detail>
            <MailUpFaultDetail xmlns="http://Mailup.WS.Schema/Fault" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
               <ErrorCode>1000</ErrorCode>
               <ErrorDesc>Wrong credentials</ErrorDesc>
            </MailUpFaultDetail>
         </detail>
      </s:Fault>
   </s:Body>
</s:Envelope>