Fault Action Property is Misplaced for WSDL 2.0

Hi,

If more than one interface operation ref's the same interface fault, the action
property is ambiguous and cannot be used for message dispatch, e.g.:

<description targetNamespace="http://mytns">
  ...
  <interface name="myInterface">
    <fault name="myFault" element="ns:faultElement"
wsam:Action="http://mytns/myInterface/myFault"/>
    <operation name="myOperation1"
pattern="http://www.w3.org/2006/01/wsdl/in-out">
      <input element="ns:inputElement"
wsam:Action="http://mytns/myInterface/myOperation1"/>
      <output element="ns:outputElement"
wsam:Action="http://mytns/myInterface/myOperation1Response"/>
      <outfault ref="tns:myFault"/>
    </operation>
    <operation name="myOperation2"
pattern="http://www.w3.org/2006/01/wsdl/in-out">
      <input element="ns:inputElement"
wsam:Action="http://mytns/myInterface/myOperation2"/>
      <output element="ns:outputElement"
wsam:Action="http://mytns/myInterface/myOperation2Response"/>
      <outfault ref="tns:myFault"/>
    </operation>
  </interface>
  ...
</description>

The property should instead be placed on 'infault' and 'outfault' elements and
the default pattern should be changed, e.g.:

[target namespace][delimiter][interface name][delimiter][operation
name][delimiter][direction token]Fault[delimiter][fault name]

<description targetNamespace="http://mytns">
  ...
  <interface name="myInterface">
    <fault name="myFault" element="ns:faultElement"/>
    <operation name="myOperation1"
pattern="http://www.w3.org/2006/01/wsdl/in-out">
      <input element="ns:inputElement"
wsam:Action="http://mytns/myInterface/myOperation1"/>
      <output element="ns:outputElement"
wsam:Action="http://mytns/myInterface/myOperation1Response"/>
      <outfault ref="tns:myFault"
wsam:Action="http://mytns/myInterface/myOperation1/OutFault/myFault"/>
    </operation>
    <operation name="myOperation2"
pattern="http://www.w3.org/2006/01/wsdl/in-out">
      <input element="ns:inputElement"
wsam:Action="http://mytns/myInterface/myOperation2"/>
      <output element="ns:outputElement"
wsam:Action="http://mytns/myInterface/myOperation2Response"/>
      <outfault ref="tns:myFault"
wsam:Action="http://mytns/myInterface/myOperation2/OutFault/myFault"/>
    </operation>
  </interface>
  ...
</description>

Received on Wednesday, 10 January 2007 22:57:25 UTC