- From: Jeffrey Schlimmer <jeffsch@windows.microsoft.com>
- Date: Mon, 3 Nov 2003 12:41:38 -0800
- To: <www-ws-desc@w3.org>
- Message-ID: <DDE1793D7266AD488BB4F5E8D38EACB8039D94E4@WIN-MSG-10.wingroup.windeploy.ntdev.mi>
Here is the proposal the WG approved during the face-to-face meeting
this morning.
Language binding requirements
* Allow deserializing faults to exception types in a programming
language.
* If a fault occurs in > 1 operation, map to the same exception
type.
SOAP binding requirements
* Specify SOAP faults that have code/subcode with optional detail.
Other requirements
* Allow fault to occur in both an infault and an outfault.
* Minimize redundant information to minimize risk of error.
<interface ... >
<operation ...>
<input messageReference='xs:NCName' // maps to field in pattern
body='xs:QName'
... />
<outfault name='xs:NCName'
// target for binding/operation/outfault/@name
// if used twice, means the same fault
messageReference='xs:NCName'
// maps to interface/operation/{input,output}/@messageRef
// may match other faults in interface w/ same @name
detail='xs:QName'?
// must match other faults in interface w/ same @name
... />
</operation>
</interface>
<binding ... >
<wsoap:FaultDefault name='xs:NCName' >
// rollup like other operation-specific information
// good for all instances of @name
// explicitly does not include @messageRef
<wsoap:Code> ... </wsoap:Code>
</wsoap:FaultDefault>
<operation ... >
<outfault name='xs:NCName'
messageReference='xs:NCName'
// required because same @name can occur within an
// interface/operation with different @messageRef
>
// overrides binding/wsoap:FaultDefault with same @name
<wsoap:Code>
<wsoap:Value>xs:QName</wsoap:Value>
<wsoap:Subcode>
<wsoap:Value>xs:QName</wsoap:Value>
<wsoap:Subcode> ... </wsoap:Subcode>
</wsoap:Subcode>
</wsoap:Code>
// Detail is just interface/operation/outfault/@detail
</outfault>
</operation>
</binding>
EOF
Received on Monday, 3 November 2003 15:41:42 UTC