[ogsa-hpcp-wg] [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-hpcp-wg mailing list