New Issue: Migration of @Action from WS-A 200408 to WS-A 1.0

We've been exploring the best way to support both the 200408 version of
WS-Addressing and eventually the 1.0 version in WSDL.  The Action
attribute and the default action pattern rules pose an interesting
challenge.

 

The @Action attribute serves identical purposes in the two versions -
they set the [action] property which is semantically the same thing in
both the 200408 and 1.0 versions.  We propose a non-normative appendix
to suggest ways users can author WSDLs that allow a client to choose
either version of Addressing, and that unambiguously generate the same
[action] values regardless of the version of addressing chosen.  This
appendix would highlight the divergence of the default pattern between
the 200408 and 1.0 versions and advise on how that difference can be
managed.

 

Note that in the majority of cases, the default patterns are identical,
requiring no explicit specification of the action in either namespace to
achieve the desired alignment.

 

Proposal:

 

Add the following non-normative appendix to the WS-Addressing WSDL
Binding spec.

 

Appendix XX: Migration strategies from the 2004-08 version of
WS-Addressing

 

The WS-Addressing 1.0 [action] property is semantically equivalent to
that described in the 2004-08 version of WS-Addressing. However, the
syntax (namespace of the attribute) used to specify values differs in
the two versions, and the default action pattern in WS-Addressing 1.0
differs in two respects from that in the 2004-08 version: the
[delimiter] can be either "/" or ":" in 1.0 while in 2004-08 it is
always "/", and the default action pattern for faults is closer to that
of other messages instead of a constant URI.

 

Authors of WSDL that support both versions are advised to use the same
value for 1.0 [action] and 200408 [action].

 

If a default action pattern is desired, we recommend the 1.0 default
action pattern.  The 200408 [action] can be made consistent with the 1.0
default by:

 

1.	specifying wsa200408:Action explicitly when the targetNamespace
is a URN, and
2.	specifying wsa200408:Action explicitly when the message is a
fault.

 

If the targetNamespace is a URN, we recommend against using the 200408
default action pattern, as it leads to malformed IRIs.  Otherwise, if
the 200408 default action pattern is used, the 1.0 [action] value can be
made consistent by:

 

1.	specifying wsaw:Action explicitly when the message is a fault.

 

--  Jonathan Marsh  --  jmarsh@microsoft.com
<mailto:jmarsh@microsoft.com>   --
http://spaces.msn.com/members/auburnmarshes/
<http://spaces.msn.com/members/auburnmarshes/>   --

 

Received on Tuesday, 30 August 2005 21:12:20 UTC