- From: Jeffrey Schlimmer <jeffsch@windows.microsoft.com>
- Date: Wed, 1 May 2002 18:58:32 -0700
- To: "WS-Desc WG (Public)" <www-ws-desc@w3.org>
It might be useful to compare two ways of describing a four-part message. This: <wsdl:message name="MyMessage" > <wsdl:part name="a" type="xsd:string" /> <wsdl:part name="b" type="xsd:string" /> <wsdl:part name="c" type="xsd:string" /> <wsdl:part name="d" type="xsd:string" /> </wsdl:message> Becomes this: <xsd:element name="MyMessage" > <xsd:sequence> <wsdl:element name="a" type="xsd:string" /> <wsdl:element name="b" type="xsd:string" /> <wsdl:element name="c" type="xsd:string" minOccurs="0" /> <wsdl:element name="d" type="xsd:string" minOccurs="0" /> </xsd:sequence> </xsd:element> <!-- implies this message declaration in WSDL --> <wsdl:message name="MyMessage" > <wsdl:part name="parameters" element="MyMessage" /> </wsdl:message> Note "parts" c and d are marked optional using the already-defined minOccurs facet in XML Schema. Now what if "part" d is a "foreign" type, for example some ASN.1 doodad? Assuming we have agreed on an appropriate definition of the asn.1 namespace. This: <wsdl:message name="MyMessage" > <wsdl:part name="a" type="xsd:string" /> <wsdl:part name="b" type="xsd:string" /> <wsdl:part name="c" type="xsd:string" /> <wsdl:part name="d" type="asn.1:doodad" /> </wsdl:message> Becomes: <xsd:element name="MyMessage" > <xsd:sequence> <wsdl:element name="a" type="xsd:string" /> <wsdl:element name="b" type="xsd:string" /> <wsdl:element name="c" type="xsd:string" minOccurs="0" /> <wsdl:element name="d" minOccurs="0" asn1:type="doodad" /> </xsd:sequence> </xsd:element> <!-- implies this message declaration in WSDL --> <wsdl:message name="MyMessage" > <wsdl:part name="parameters" element="MyMessage" /> </wsdl:message> Note that the type of "part" d is indicated in both. In the latter, "part" d omits the xsd:type attribute, defaulting to any content. This does beg the question about the value of the wsdl:message construct. Why don't we focus WSDL on operational types and leverage the good work done on representational types by the XML Schema WG? --Jeff -----Original Message----- From: Prasad Yendluri [mailto:pyendluri@webmethods.com] Sent: Wednesday, May 01, 2002 2:52 PM To: Jeffrey Schlimmer Cc: WS-Desc WG (Public) Subject: Re: issue: optional parts in <message>? Jeffrey Schlimmer wrote: > XML Schema provides a rich, well-understood language for expressing > choices, sequences, optional, repeated, etc. constructs. It does not > seem like a good use of the WG time to re-invent such a mechanism. I don't believe it is re-inventing the entire mechanism. The spec allows multiple parts in a message for a reason (when this can be captured by the schema as well) these represent abstract parts coming from potentially different type-systmes and some perhaps well established schemas (e.g. a OAG BOG). The addition being called for is marking the parts optional at the message level. > Are there any interesting arguments against removing the message element > and making the operation within a port type point directly to an XML > Schema global element declaration? That would amount to doing away with the abstract types and other type systems and settling only on XMLSchema? > --Jeff > > -----Original Message----- > From: Sanjiva Weerawarana [mailto:sanjiva@watson.ibm.com] > Sent: Wednesday, May 01, 2002 1:18 PM > To: WS-Desc WG (Public) > Subject: issue: optional parts in <message>? > > <issue id="issue-message-parts"> > <head>Should the message part mechanism be extended to support > optional > parts etc.?</head> > In WSDL 1.1, a message can only be defined to be a sequence of parts. > It is not possible to indicate that certain parts may be optional, > may occur multiple times, etc.? Should we do that? Overlapping with > XML Schema's mechanisms is an obvious concern. > <source>Sanjiva Weerawarana</source> > </issue> > > Could we also start discussing this issue please? > > Sanjiva.
Received on Wednesday, 1 May 2002 22:02:44 UTC