- From: Roberto Chinnici <Roberto.Chinnici@Sun.COM>
- Date: Tue, 16 Nov 2004 18:51:00 -0800
- To: www-ws-desc@w3.org
I had an action item to to write up the addition of infault and outfault
at the binding level plus modifications of the component model. (LC55)
Define a Binding Fault Reference component with the following properties:
{fault reference} REQUIRED - A Fault Reference component.
{features} OPTIONAL - A set of Feature components.
{properties} OPTIONAL - A set of Property components.
The pseudo-schema for a binding operation would be updated to look like this:
<operation ref="xs:QName" >
<documentation />?
<input messageLabel="xs:NCName"? >
<documentation />?
<feature ... />*
<property ... />*
</input>*
<output messageLabel="xs:NCName"? >
<documentation />?
<feature ... />*
<property ... />*
</output>*
<infault ref="xs:QName" messageLabel="xs:NCName"?>
<documentation />?
<feature ... />*
<property ... />*
</infault>*
<outfault ref="xs:QName" messageLabel="xs:NCName"?>
<documentation />?
<feature ... />*
<property ... />*
</outfault>*
<feature ... />*
<property ... />*
</operation>*
The mapping of a binding infault
<infault ref="xs:QName" messageLabel="xs:NCName"?>
<documentation />?
<feature ... />*
<property ... />*
</infault>*
to a Binding Fault Reference component BFR would be as follows:
(the notation C.{P} denotes property {P} of component C)
1. start with the Binding Operation BO;
2. BO.{operation reference} is an Interface Operation component I;
3. I.{fault references} is a set of Fault Reference components;
4. the value of BFR.{fault reference} is the unique element FR of I.{fault references} such that
a. FR.{fault reference}.{name} == the value of the @ref attribute of wsdl:infault
b. FR.{message label} == the value of the @message label of wsdl:infault (*)
c. FR.{direction} == 'in'
(*) For consistency with the mapping rules for the Fault Reference component, the @message
attribute is optional provided that there is only one message in the MEP used by I whose
corresponding fault has the 'in' direction (of course, taking the fault rule used by the
MEP into account).
Similarly for a binding outfault, with 'out' in place of 'in'.
In part 3, we'd extend the pseudo-schema so as to allow wsoap:module inside
the binding infault/outfault elements:
<operation ref="xs:QName"
whttp:location="xs:anyURI"??
whttp:transferCodingDefault="xs:string"?? >
wsoap:mep="xs:anyURI"?
wsoap:action="xs:anyURI"? >
<documentation />?
<wsoap:module ... />*
<input messageLabel="xs:NCName"?
whttp:transferCoding="xs:string"?? >
<documentation />?
<wsoap:module ... />*
<feature ... />*
<property ... />*
</input>*
<output messageLabel="xs:NCName"?
whttp:transferCoding="xs:string"?? >
<documentation />?
<wsoap:module ... />*
<feature ... />*
<property ... />*
</output>*
<infault ref="xs:QName" messageLabel="xs:NCName"?
whttp:transferCoding="xs:string"?? >
<documentation />?
<wsoap:module ... />*
<feature ... />*
<property ... />*
</infault>*
<outfault ref="xs:QName" messageLabel="xs:NCName"?
whttp:transferCoding="xs:string"?? >
<documentation />?
<wsoap:module ... />*
<feature ... />*
<property ... />*
</outfault>*
<feature ... />*
<property ... />*
</operation>*
Section 2.6.2 would be amended so that the {soap modules} property becomes
applicable to Binding Fault Reference components.
Roberto
--
Roberto Chinnici
Java Web Services
Sun Microsystems, Inc.
roberto.chinnici@sun.com
Received on Wednesday, 17 November 2004 02:46:55 UTC