Faults and Errors V3

Errors encountered during a web service call are passed back as a SOAP Fault.  The faultcode will be "env:Server" and the faultstring will give a brief description of the error.  A detail element will include more details.

The most common type of error is likely to be validation errors.  If one of the parameters passed does not meet the validation requirements, then a SOAP Fault will be returned, with a faultDetails object nested inside it which contains details of the validation error.  For example, a call to setFields for the medicaredvs source with an invalid Medicare number would give the following response:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
   <env:Header/>
   <env:Body>
      <env:Fault>
         <faultcode>env:Server</faultcode>
         <faultstring>Invalid input field(s) - medicare card number</faultstring>
         <detail>
            <ns2:faultDetails xmlns:ns2="http://dynamicform.services.registrations.edentiti.com/">
               <code>FieldValidationFault</code>
               <details>Medicare card number is not a valid Medicare number.</details>
            </ns2:faultDetails>
         </detail>
      </env:Fault>
   </env:Body>
</env:Envelope>

The faultstring element indicates a validation error, and names the field.  The faultDetails object indicates the exact error, i.e. a FieldValidationFault, and gives a readable message in the details element.  If more than one field fails validation, then the faulstring and details elements will contain multiple errors in a list.  For example:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
   <env:Header/>
   <env:Body>
      <env:Fault>
         <faultcode>env:Server</faultcode>
         <faultstring>Invalid input field(s) - medicare card expiry date, medicare card number</faultstring>
         <detail>
            <ns2:faultDetails xmlns:ns2="http://dynamicform.services.registrations.edentiti.com/">
               <code>FieldValidationFault</code>
               <details>Medicare card expiry date is not formatted correctly.
                  Medicare card number is not a valid Medicare number.</details>
            </ns2:faultDetails>
         </detail>
      </env:Fault>
   </env:Body>
</env:Envelope>

  

In this example, both the Medicare card number and expiry date failed validation.


A note about the WSDL

The WSDL for the greenID API does not include elements for faultcode and faultstring.  This is a known issue.


A list of fault codes is given in the table below.

Fault codeDescription
FieldValidationFaultOne or more input fields failed validation.
InvalidCertificateFaultThe client certificate presented for mutual authentication did not pass the certificate checking process.
InvalidIPAddressFaultThe IP address of the client is not permitted to call the web service.
InvalidPasswordFaultThe accountId and password could not be matched or the accountId was not recognised.
InvalidRuleIdFaultThe ruleId element was not recognised.
InvalidSourceIdFaultThe sourceId element was not recognised.
InvalidTokenFaultThe verificationToken (also referred to as a userToken) supplied was not recognised.
SystemFaultThere was an unexpected error during the web service call. This is an internal error for greenID.
TokenTimeoutFaultThe verificationToken (userToken) supplied has expired.
VerificationIdNotFoundFaultOne of the API methods other than registerVerification was called with a verificationId that was not recognised.
VerificationFaultThere was an unexpected error during the verification process.