2.2.9 Faults

In the event of an application error, the protocol server MUST return either a SOAP fault ([SOAP1.2/1] section 5.4), or a ServiceError ([MS-AADT] section 2.2.4.13) as a response to the operation.

For SOAP faults:

  • The protocol client MUST ignore all elements of the SOAP fault except the Detail element ([SOAP1.2/1] section 5.4.5).

  • The SOAP fault Detail element ([SOAP1.2/1] section 5.4.5) MUST contain the protocol server alert specified by section 2.2.4.1.

When returning a SOAP fault ([SOAP1.2/1] section 5.4) or a ServiceError ([MS-AADT] section 2.2.4.13) as a response, the protocol server MUST return a fault identifier (section 2.2.5.2) in the response either as the Value element ([SOAP1.2/1] section 5.4.1.3) inside a Subcode element ([SOAP1.2/1] section 5.4.1.2) of the SOAP fault ([SOAP1.2/1] section 5.4), or as the Code attribute in a ServiceError ([MS-AADT] section 2.2.4.13).

The different fault identifiers (section 2.2.5.2) returned by the protocol server are grouped as Common Fault Identifiers, Runtime Fault Identifiers, Sql Fault Identifiers and Design Time Fault Identifiers. These fault identifiers along with information about the corresponding error encountered by the protocol server are listed in the following sub-sections.