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

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsrf message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: Issue wsrf100 - Confusion about requirement of using WS-BaseFaults






Some problems arose during the recent interop tests because of the rules
describing the construction of faults, and the experience needs to be
factored into the discussion of issue 100.

>>>Background:

WSDL. 1.1 section 3.6 says

   "The soap:fault element specifies the contents of the contents of the
   SOAP Fault Details element."       (Yes, that looks a bit strange - it's
   a copy/paste of the spec)
    and  "The name attribute relates the soap:fault to the wsdl:fault.."
and "The fault message MUST have a single part."

However, the soap schema allows multiple children of <detail> and the WS-I
basic profile confirms this is possible with:

R1002 A RECEIVER MUST accept fault messages that have any number of
elements, including zero, appearing as children of the detail element. Such
children can be qualified or unqualified.

Also, note the additional WS-I rule:

R2742 A MESSAGE MAY contain a fault detail entry in a SOAP fault that is
not described by a wsdl:fault element in the corresponding WSDL
description.

and the current state of BaseFault and WS-Resource specs (see issue
wsrf100) wrt whether Basefaults are required or merely recommended.

The questions for WSRF implementers are
 - Is there a basefault present at all?
 - Which child of the <detail> element contains it?

>>>Example:

 <soapenv:Body>
  <soapenv:Fault>
    <faultcode
xmlns:ns1="A.Resources.com">ns1:ResourceManagerFault</faultcode>
    <faultstring/>
    <detail encodingStyle="">
       <ns1:ResourceManagerFault
xmlns:ns1="A.Resources.com"><ns1:ImportantInformationElement/><ns1:ResourceManagerFault>
       <wsrf-rp:InvalidInsertResourcePropertiesRequestContentFault>
        <wsrf-bf:Timestamp>2005-03-11T17:13:51Z</wsrf-bf:Timestamp>
        <wsrf-bf:Description>The property xxx may not be
inserted!.</wsrf-bf:Description>
      </wsrf-rp:InvalidInsertResourcePropertiesRequestContentFault>
    </detail>
  </soapenv:Fault>
</soapenv:Body>

Is this fault intended to contain a basefault, or is it the
<wsrf-rp:InvalidInsertResourcePropertiesRequestContentFault> which is the
extraneous detail?

>>> Recommendations:

a) Faults MUST contain exactly one wsrf-bf:BaseFault.
Otherwise, there is no algorithm for identifying conformant faults from
rogue ones.

b) the Basefaults spec should contain an example of a fault message.


Regards, Tim Banks
IBM TP Architecture & Technology. Hursley, UK.
Phone: External +44 1962 815639, Internal 245639




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]