W3C home > Mailing lists > Public > www-ws-desc@w3.org > October 2003

RE: Proposal: Uniqueness on the Wire Requirement for WSDL 2.0

From: Jeffrey Schlimmer <jeffsch@windows.microsoft.com>
Date: Fri, 24 Oct 2003 18:02:31 -0700
Message-ID: <DDE1793D7266AD488BB4F5E8D38EACB8CF55B1@WIN-MSG-10.wingroup.windeploy.ntdev.microsoft.com>
To: <paul.downey@bt.com>, <www-ws-desc@w3.org>
There is nothing preventing a WSDL author from adopting the unique QED approach today.


From: paul.downey@bt.com [mailto:paul.downey@bt.com]
Sent: Thu 10/23/2003 6:51 AM
To: Jeffrey Schlimmer; www-ws-desc@w3.org
Subject: RE: Proposal: Uniqueness on the Wire Requirement for WSDL 2.0

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. 

	-----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?




	[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


	> Phone: +1 650 607 6154

	> Email: umit.yalcinalp@oracle.com



Received on Friday, 24 October 2003 21:03:14 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:54:45 UTC