- From: <paul.downey@bt.com>
- Date: Thu, 23 Oct 2003 14:51:26 +0100
- To: <jeffsch@windows.microsoft.com>, <www-ws-desc@w3.org>
- Message-ID: <2B7789AAED12954AAD214AEAC13ACCEF0FFF1CB1@i2km02-ukbr.domain1.systemhost.net>
Agreed, we definitely shouldn't close the door on a higher-level protocol (like WS-Addressing) from being able to dispatch a message. Maybe WSDL should still offer a method for routing based on the GED. I could see this as being useful for routing by non WS-Addressing (or whatever) aware roles in the same way HTTP SOAPAction could be routed without having to parse XML. Paul -----Original Message----- From: Jeffrey Schlimmer [mailto:jeffsch@windows.microsoft.com] Sent: 23 October 2003 08:25 To: WS Description List Subject: RE: Proposal: Uniqueness on the Wire Requirement for WSDL 2.0 I do not believe that WSDL 2.0 needs to be restrictive in this case because there are interesting alternatives and because any recommended alternative is arbitrarily restrictive. SOAP header blocks provide a very interesting dispatch model, and there are likely to be strong conventions around using specific header blocks for this. For example, WS-Addressing [1] defines an Action header block that is particularly suited for this purpose. As Paul points out, there shouldn't be any constraint on Body data; it is the application's business and should be whatever is appropriate for a given application. (Note to self: our current design may already be overly restrictive here.) Put another way, if a service wants to define > 1 operation/input/@Body that point to the same GED, why would anyone else care? --Jeff [1] http://www-106.ibm.com/developerworks/webservices/library/ws-add/ > -----Original Message----- > From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] On > Behalf Of Umit Yalcinalp > Sent: Monday, October 20, 2003 3:26 PM > To: WS Description List > Subject: Proposal: Uniqueness on the Wire Requirement for WSDL 2.0 > > > Folks, > > Today, the operation name do not appear on the wire. The input and > outputs are described with respect to messages exchanged and the > operation name is just for tools and bindings to refer to. This brings > up an interesting requirement for endpoints tobe able to correlate the > input/output messages to operations that define these message exchanges. > The wire signature for operations must be unambiguous. > > There are three different ways of solving this problem that I can think > of: > > 1. Require that operation names DO appear on the wire. This can be > achieved by wrappering the name of the operation, as required for RPC > style. This is actually NOT a real burden actually on the processors to > unwrap the actual message and obtain the actual element that designates > the input. The soap Body is treated similarly by the processors. > > 2. Describe a header that contains the name of the operation and is > REQUIRED as part of the envelope. Note that some implementations and > platforms DO carry this information using soapAction and use this info > for dispatching purposes. However, this is very SOAP specific. Further, > this is a bit different than specifying properties/features as this > header MUST always be present for interoperability and for non SOAP/HTTP > bindings to use it appropriately. > > Of course, these two approaches indicate that the operation name MUST > appear somewhere on the wire, either in the message or in the header :-). > > 3. I would like to bring one of the WS-I BP 1.0 rules into picture and > propose that we have a similar requirement in the spec as the third > option. See [1] Section 5.6.7, rule R2710. This rule is written with > respect to WSDL 1.1, where the binding indicates how the message on the > wire would be constructed/indicated. > > In our current spec, however, the structure of the messages are already > defined by input/output messages. So the binding has very little to do > with this requirement. Instead the burden of defining wire signature for > operations shifts to requiring interfaces to contain unique messages. > > This can be achieved by requiring an interface not to use the same > element as an input (or output) in more than one operation. This is in > spirit the same requirement as stated in R2710. > > I propose a rule to be added in section 3.1.3. along the lines of the > following: > > "An element declaration MUST NOT be referenced from the body of input > (or output) element information items of more than one interface > operation component children of an interface component" > > If we are not going to have the operation name to appear on the wire, it > is essential for us to add this rule to the spec. > > Cheers, > > --umit > > [1] http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.htm > > ------------------- > Umit Yalcinalp > Consulting Member of Technical Staff > ORACLE > Phone: +1 650 607 6154 > Email: umit.yalcinalp@oracle.com > >
Received on Thursday, 23 October 2003 09:58:49 UTC