i034: computing default Action value for WSDL 2.0

Updating the default action algorithm for WSDL 1.1 to accommodate WSDL
2.0 seems pretty straightforward to me.  Besides updating the
terminology and notation to refer to component model properties rather
than attributes, the input|output/@name defaulting rules in WSDL 1.1 had
to be duplicated in the algorithm (the [direction token] below).  

Barring any mistakes I may have made, under the proposal below a service
with a WSDL 1.1 description making use of the default action pattern as
specified in either the WS-A submission or in our current draft could be
augmented with a WSDL 2.0 description without adding explicit action
values.

----------------------------------------------------------------
3.2 Default Action Pattern

In the absence of the wsa:Action attribute, the following pattern is
used to construct a default action for inputs and outputs. The general
form of an action URI is as follows:

Example 3-2. @@@
  [target namespace]/[interface name]/[operation name][direction token]

The "/" is a literal character to be included in the action. The values
of the properties are as defined below.

[target namespace] is the {target namespace} of the interface. If
{target namespace} ends with a "/" an additional "/" is not added.

[interface name] is the {name} of the interface.

[operation name] is the {name} of the operation.
 
[direction token] is:
  Empty ("") where the operation's {message exchange pattern} is
    'http://www.w3.org/@@@@/@@/wsdl/in-only',
    'http://www.w3.org/@@@@/@@/wsdl/robust-in-only',
    'http://www.w3.org/@@@@/@@/wsdl/out-only', or
    'http://www.w3.org/@@@@/@@/wsdl/robust-out-only'.

  "Request" where the operation's {message exchange pattern} is
    'http://www.w3.org/@@@@/@@/wsdl/in-out' or
    'http://www.w3.org/@@@@/@@/wsdl/in-optional-out'
    and the message reference's {message label} = 'in'

  "Solicit" where the operation's {message exchange pattern} is
    'http://www.w3.org/@@@@/@@/wsdl/out-in' or
    'http://www.w3.org/@@@@/@@/wsdl/out-optional-in'
    and the message reference's {message label} = 'out'

  "Response" where the operation's {message exchange pattern} is
    'http://www.w3.org/@@@@/@@/wsdl/in-out' or
    'http://www.w3.org/@@@@/@@/wsdl/in-optional-out'
    and the message reference's {message label} = 'out',

  "Response" where the operation's {message exchange pattern} is
    'http://www.w3.org/@@@@/@@/wsdl/out-in', or
    'http://www.w3.org/@@@@/@@/wsdl/out-optional-in'
    and the message reference's {message label} = 'in'

  {message label} where the {message exchange pattern} is not one
    of the MEP URIs defined in WSDL 2.0 Part 2.

Received on Wednesday, 17 November 2004 22:48:40 UTC