[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Fault AI
I was asked to look at how WS-Addressing handles the expressivity differences between SOAP 1.1 and SOAP 1.2 faults; basically, there is a loss of information for SOAP 1.1. It would be my recommendation to follow this model so that the base web services standards all follow an identical model. From section 4 of the member submission: The faults defined in this section are generated if the condition stated in the preamble in each subsection is met. They are sent to the [fault endpoint], if present and valid. Otherwise they are sent to the [reply endpoint] if present. If neither is present faults may be sent to the [source endpoint]. Endpoints compliant with this specification MUST include required message information headers on all fault messages. Fault messages are correlated as replies using the [relationship] property as defined in Section 3. The [action] property below designates WS-Addressing fault messages (this URI is also used as default Action value for WSDL fault messages, as described in Section 3.3.2): http://schemas.xmlsoap.org/ws/2004/08/addressing/fault The definitions of faults use the following properties: *[Code]* The fault code. *[Subcode]* The fault subcode. *[Reason]* The English language reason element. *[Detail]* The detail element. If absent, no detail element is defined for the fault. The properties above bind to a SOAP 1.2 fault as follows: <S:Envelope> <S:Header> <wsa:Action> http://schemas.xmlsoap.org/ws/2004/08/addressing/fault </wsa:Action> <!-- Headers elided for clarity. --> </S:Header> <S:Body> <S:Fault> <S:Code> <S:Value>*[Code]*</S:Value> <S:Subcode> <S:Value>*[Subcode]*</S:Value> </S:Subcode> </S:Code> <S:Reason> <S:Text xml:lang="en">*[Reason]*</S:Text> </S:Reason> <S:Detail> *[Detail]* </S:Detail> </S:Fault> </S:Body> </S:Envelope> The SOAP 1.1 fault is less expressive and map only [Subcode] and [Reason]. These the properties bind to a SOAP 1.1 fault as follows: <S11:Envelope> <S11:Body> <S11:Fault> <faultcode>*[Subcode]*</faultcode> <faultstring xml:lang="en">*[Reason]*</faultstring> </S11:Fault> </S11:Body> </S11:Envelope>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]