OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-caf message

[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]