- From: Anish Karmarkar <Anish.Karmarkar@oracle.com>
- Date: Mon, 23 May 2005 11:21:47 -0700
- To: public-ws-addressing@w3.org
I took an AI to send a new proposal for resolution of issue i017, subissue b [1] in light of the fact that the Operation Name Mapping (ONM) [2] in WSDL 2.0 is not a requirement anymore but a best practice and the resolution of issue i021 [3] (which defines an extension wsaw:UsingAddressing). Briefly [2] essentially says that as a best practice when it is not clear from the message which operation in a particular interface is being executed, then as a best practice either a feature or an extension should be used to indicate the mechanism that is used to disambiguate the operation. Since [action] can be potentially used to disambiguate operations, especially since the default [action] values are distinct (for each message), WS-Addressing can be used as a disambiguator. Pl. note that [action] values are not required to be distinct (as wsa:Action can be used to override the default value). Enumerated below are what I think are possible resolutions to the subissue. My preference is for #2 as it satisfies ONM best practice by defining a simple attribute that could be used with extensibility elements as well as features (although the distinction between #2 and #3 is aesthetic only). 1) Status quo Do nothing. Adv: Zero addtional work. One can always inspect the wsa:Action attribute value (in conjunction with the default rules for [action] value) and figure out if the [action] property is distinct or not. Disadv: does not advance the best practice specified in WSDL 2.0 which requires that a feature/extension be specified (along with required/wsdl:required as true) 2) Define a new attribute called wsaw:distinctAction with a type of boolean and no default value. Value of 'true' implies that the [action] MAP is distinct for each of the messages/direction in the interface/portType (of a service) across all the operations. Value of 'false' implies that the [action] MAP is not distinct. This attribute can be used with wsaw:UsingAddressing extensibility element as well as on a feature such as the 'SOAP 1.2 Addressing 1.0 Feature' [4] identified by the URI - http://www.w3.org/@@@@/@@/addressing/feature The following two examples below show how the ONM best practice is satisfied: a) when using wsaw:UsingAddressing <binding name="reservationSOAPBinding" interface="tns:reservationInterface" type="http://www.w3.org/2004/08/wsdl/soap12" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"> <wsaw:UsingAddressing wsaw:distinctAction="true" wsdl:required="true" /> .... </binding> b) when using SOAP 1.2 feature <binding name="reservationSOAPBinding" interface="tns:reservationInterface" type="http://www.w3.org/2004/08/wsdl/soap12" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"> <feature wsaw:distinctAction="true" required="true" uri="http://www.w3.org/@@@@/@@/addressing/feature"/> ... </binding> Adv: satisfies the ONM best practice. Disadv: requires us to specify an attribute. 3) Same as (2) but instead of an attribute define an element wsaw:DistinctAction that can be used as a child element of wsaw:UsingAddressing or as a child of wsdl:feature when the feature URI is "http://www.w3.org/@@@@/@@/addressing/feature" Adv: satisfies the ONM best practice. Disadv: requires us to specify an element. 4) As specified in [5] with s/UniqueAction/DistinctAction Adv: satisfies the ONM best practice. Disadv: provides separate solution for feature and extensibility element. Comments? -Anish -- [1] http://www.w3.org/2002/ws/addr/wd-issues/#i017 [2] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?content-type=text/html;%20charset=utf-8#Service_OperationName [3] http://www.w3.org/2002/ws/addr/wd-issues/#i021 [4] http://dev.w3.org/cvsweb/~checkout~/2004/ws/addressing/ws-addr-soap.html?content-type=text/html;%20charset=utf-8#s12feature [5] http://lists.w3.org/Archives/Public/public-ws-addressing/2005Jan/att-0010/00-part
Received on Monday, 23 May 2005 18:21:59 UTC