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

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. 
 
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 Friday, 24 October 2003 21:03:14 UTC