[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 #1 from orchard@pacificspirit.com  2007-01-12 21:37 -------
Imagine an WSDL 1.1 operation that contains
<input name="foo"/>
<input name="bar"/>

How are these elements identified?

Here's my cut at the solution space, ranging from least expressive to most
expressive.

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, names required on all Message References.  Modify the
fragment identifiers for portType operation and binding operation
to deal with operation name overloading requiring that each input is named. 
Identifiers are then:
wsdl11.portTypeMessageReference(portType/operation/input("foo"))
wsdl11.portTypeMessageReference(portType/operation/input("bar"))

5. Fully supported with shorthand.  Modify the fragment identifiers for
portType operation and binding operation
to deal with operation name overloading allowing but not requiring
specification of name attribute.  The absence of a name parameter assumes the
first, and the name can be a parameter.  Identifiers are then:
wsdl11.portTypeMessageReference(portType/operation/input) OR
wsdl11.portTypeMessageReference(portType/operation/input("foo"))
wsdl11.portTypeMessageReference(portType/operation/input("bar"))

Received on Friday, 12 January 2007 21:37:24 UTC