- From: Umit Yalcinalp <umit.yalcinalp@oracle.com>
- Date: Mon, 20 Oct 2003 15:25:37 -0700
- To: WS Description List <www-ws-desc@w3.org>
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 Monday, 20 October 2003 18:25:41 UTC