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