[Bug 4127] Proposed WSDL 1.1 element identifiers can not deal with operation name overloading

http://www.w3.org/Bugs/Public/show_bug.cgi?id=4127





------- Comment #2 from orchard@pacificspirit.com  2007-01-17 18:11 -------
Actually, the problem *really* is:

Imagine a WSDL 1.1 portType, such as:
<portType name="TicketAgent">
<operation name="foo"><input message="x:y"/></operation>
<operation name="foo"><input message="x:z"/></operation>
</portType>

The options are

1. Illegal operation.  Add a normative
reference and constraint that the WSDL 1.1 element identifiers can only be
applied to WSDL documents that comply with the WS-I Basic Profile 1.1.
The BP
1.1 section 4.5.3 disallows operation name overloading.

2. Undefined.  Nothing said in WSDL EI (WEI) spec.  Add text recommending WS-I
BP 1.1 compliance.

3. First-only.  Change WEI spec to say that only the first element is
identified.  Add text recommending WS-I BP 1.1 compliance.

4. Fully supported by not disambiguating between the operations, that is a
policy that is attached to an operation that is overloaded applies to all the
overloaded operation.  The 2 operations in the table are starred (*) and then a
* star entry after the table that says, "These fragment identifiers may
identify elements that are not unique (sometimes called operation name
overloading)."  The ws-policy attachment specification 3.4.1 has an additional
sentence that says "When a URI domain expression does not uniquely identify
resources (such as WSDL 1.1 operation name overloading), the Policy applies to
all the resources that are identified." 

5. Fully supported disambiguating between operations using the message value of
the input.  Identifiers are then:
wsdl11.portTypeOperation(TicketAgent/foo(x:y))
wsdl11.portTypeOperation(TicketAgent/foo(x:z))
Note: This does not account for namespace prefix changes.

I believe that the WG has tentatively accepted the spirit of #4.

Received on Wednesday, 17 January 2007 18:11:59 UTC