SOAP fault required for application error?

In a request-response scenario, does SOAP 1.2 require that a SOAP fault be
returned in the case of an application error? In the non-normative SOAP 1.2
Part 0 document, I find text that says:

“The SOAP fault model (see SOAP Part 1, section 2.6) requires that all
SOAP-specific and application-specific faults be reported using a single
distinguished element, env:Fault, carried within the env:Body element.”

Which indicates that I am required to return a SOAP fault, but the only
text I could find in the normative SOAP 1.2 Part 1 document pertaining to
this says:

“An ultimate SOAP receiver MUST process the SOAP body, in a manner
consistent with 2.5 Structure and Interpretation of SOAP Bodies. Failure is
indicated by the generation of a fault (see 5.4 SOAP Fault). SOAP message
processing MAY result in the generation of a SOAP fault; more than one 
SOAP fault MUST NOT be generated when processing a SOAP message.”

I don't see the word MUST in the sentence "Failure is indicated by the
generation of a fault" and I do see the word MAY in the phrase "SOAP
message processing MAY result in the generation of a SOAP fault", so it
appears to me that I'm not required to return a SOAP fault in the case of
an application error.

Am I interpreting this correctly?

Jim Hollister

Received on Monday, 3 November 2008 14:55:15 UTC