[OGSA-BES-WG] BES Faults
Ian Foster
foster at mcs.anl.gov
Wed Nov 29 16:56:14 CST 2006
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
>
>
>
--
Ian Foster, Director, Computation Institute
Argonne National Laboratory & University of Chicago
Argonne: MCS/221, 9700 S. Cass Ave, Argonne, IL 60439
Chicago: Rm 405, 5640 S. Ellis Ave, Chicago, IL 60637
Tel: +1 630 252 4619. Web: www.ci.uchicago.edu.
Globus Alliance: www.globus.org.
More information about the ogsa-bes-wg
mailing list