[OGSA-BES-WG] BES Faults
Christopher Smith
csmith at platform.com
Wed Nov 29 17:02:45 CST 2006
Your recollection is correct ... forget I mentioned them at all. :-)
-- Chris
On 29/11/06 14:56, "Ian Foster" <foster at mcs.anl.gov> wrote:
> Chris:
>
> I recall a discussion of this a while back, and thought that we agreed
> then that we would not use WS-BaseFaults.
>
> Ian.
>
> Christopher Smith wrote:
>> Hi all,
>>
>> Just wanted to start some discussion on how to render faults for BES.
>>
>>
>> The first thing to state is that I'm assuming the use of SOAP 1.1 for
>> messaging, as this is the version referenced in the WS-I BP version 1.1.
>> Please correct me if I'm wrong....
>>
>> The second is that for now I'm ignoring WS-BaseFaults, as I think it would
>> be very difficult to reach consensus on it's use in a short amount of time.
>>
>>
>> The BES specification defines a few faults:
>>
>> (contained in SOAP Fault element in response)
>> - NotAcceptingNewActivities
>> - UnsupportedJSDLVersionFault
>> - UnsupportedFeatureFault
>>
>> (contained in a response body)
>> - ActivityDoesNotExistFault
>> - CantApplyOperationToCurrentState <-- implied in doc as a todo
>>
>>
>> We can render these in one of two ways:
>>
>> 1. We define new faultcode elements for these faults, and the detail can
>> provide a higher level of information if needed. I'm not clear on how easy
>> this is for most people from the tooling point of view. It would also
>> require the WSDL to reflect the new fault codes (is this true?).
>>
>> 2. We define a set of fault elements that can either be used in the detail
>> element, or on their own in some response elements. These fault elements
>> wouldn't be "anyType", but would just be empty complexTypes.
>>
>> I prefer number 2 as this is quite straightforward from a tooling support
>> point of view. Here are some examples of the various fault messages.
>>
>>
>> Actual SOAP faults:
>>
>> <soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope">
>> <faultcode>soap:Server</faultcode>
>> <faultstring>This BES is not accepting new activites now</faultstring>
>> <detail>
>> <bes:NotAcceptingNewActivities xmlns:bes="..."/>
>> </detail>
>> </soap:Fault>
>>
>> <soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope">
>> <faultcode>soap:Client</faultcode>
>> <faultstring>Sorry ... I don't get it</faultstring>
>> <detail>
>> <bes:UnsupportedFeatureFault xmlns:bes="...">
>> <bes:UnsupportedElement name="jsdl-posix:POSIXApplication"/>
>> </bes:UnsupportedFeatureFault>
>> </detail>
>> </soap:Fault>
>>
>>
>> Faults in responses would be done using a type like:
>>
>> <xsd:complexType name="TerminateActivityResponseType">
>> <xsd:sequence>
>> <xsd:element ref="bes-factory:ActivityIdentifier"/>
>> <xsd:element name="Cancelled" type="xsd:boolean"/>
>> <xsd:element ref="soap:Fault" minOccurs="0"/> <-- SOAP 1.1 fault
>> </xsd:sequence>
>> </xsd:complexType>
>>
>> So you'd get:
>>
>> <bes:TerminateActivityResponse xmlns:bes="...">
>> <bes:ActivityIdentifier>EPR</bes:ActivityIdentifier>
>> <bes:Cancelled>false</bes:Cancelled>
>> <soap:Fault>
>> <faultcode>soap:Client</faultcode>
>> <faultstring>That activity doesn't exist</faultstring>
>> <detail><bes:ActivityDoesNotExistFault/></detail>
>> </soap:Fault>
>> </bes:TerminateActivityResponse>
>>
>> <bes:TerminateActivityResponse xmlns:bes="...">
>> <bes:ActivityIdentifier>EPR</bes:ActivityIdentifier>
>> <bes:Cancelled>false</bes:Cancelled>
>> <soap:Fault>
>> <faultcode>soap:Client</faultcode>
>> <faultstring>That activity doesn't exist</faultstring>
>> <detail><bes:CantApplyOperationToCurrentState/></detail>
>> </soap:Fault>
>> </bes:TerminateActivityResponse>
>>
>>
>> Comments?
>>
>>
>>
>> -- Chris
>>
>>
>> --
>> ogsa-bes-wg mailing list
>> ogsa-bes-wg at ogf.org
>> http://www.ogf.org/mailman/listinfo/ogsa-bes-wg
>>
>>
>>
More information about the ogsa-bes-wg
mailing list