- From: Jeffrey Schlimmer <jeffsch@windows.microsoft.com>
- Date: Tue, 11 Nov 2003 17:09:59 -0800
- To: "Liu, Kevin" <kevin.liu@sap.com>, <www-ws-desc@w3.org>
Kevin, I'm guilty of that inconsistency. :-) I held off making a
comparable change to the binding components because I want to make sure
we (really I) understand how the @name and @messageReference attributes
work first.
For instance, is binding//@name sufficient to disambiguate which
interface sub-component is being modified? Or does binding//* need to
point back to the message (fault) references defined in the message
exchange pattern?
--Jeff
> -----Original Message-----
> From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]
On
> Behalf Of Liu, Kevin
> Sent: Monday, November 10, 2003 11:35 AM
> To: www-ws-desc@w3.org
> Subject: should binding/operation/infault|outfault@messageReference be
opt
> ional?
>
>
> In the current draft, the attribute
> interface/operation/infault|outfault@messageReference is optional, the
> following rules are provided for determining its value:
>
> "The actual value of the messageReference attribute information item
if
> any; otherwise the {message reference} property of the message with
the
> same {direction} from the {message exchange pattern} of the Interface
> Operation component, provided there is exactly one such message and
the
> fault pattern of the {message exchange pattern} is
fault-replaces-message;
> otherwise the {message reference} property of the message with the
> opposite {direction}, provided there is exactly one such message and
the
> fault pattern is message-triggers-fault; otherwise empty. "
>
> However, the binding/operation/infault|outfault@messageReference is
> required, and leave the two sections somehow not consistent. The
syntax
> for fault references is something like,
>
> <definitions>
> <interface>
> <operation>
> <infault
> name="xs:NCName"
> messageReference="xs:NCName"?
> message="xs:QName"?
> <documentation />?
> </infault>*
> <outfault
> name="xs:NCName"
> messageReference="xs:NCName"?
> message="xs:QName"?
> <documentation />?
> </outfault>*
> </operation>
> </interface>
>
> <binding>
> <operation>
> <infault
> name="xs:NCName"
> messageReference="xs:NCName" >
> <documentation />?
> </infault>
> <outfault
> name="xs:NCName"
> messageReference="xs:NCName" >
> <documentation />?
> </outfault>
> </operation>
> </binding>
>
> </definitions>
>
> I believe the intention of making messageReference in interface level
> optional is to make simple case very simple whereas the intention of
> requiring messageReference in binding fault is to use the combination
of
> @name and @messageReference to uniquely identify a corresponding
interface
> fault. But to be consistent, I would say we should either make the
> interface/operation/infault|outfault@messageReference required OR make
> binding/operation/infault|outfault@messageReference optional and
specify
> the rules for determining its value. I would prefer the later to keep
> simple cases simple (for wsdl authors).
>
> Make senses?
>
> Best Regards,
> Kevin
>
Received on Tuesday, 11 November 2003 20:12:51 UTC