Proposal for issue i017, subissue b (AI from 2005-04-20)

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