Solution space for Issue 4127: Proposed WSDL 1.1 element identifiers can not deal with operation name overloading

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:39:06 UTC