Hi Guy,

The 2005/08 version of WS-Addressing is the native version supported by
CXF.
 
However WS-ReliableMessaging is still based on WS-A 2004/08, so we
provide support for this version also.
 
Now rather than polluting the entire stack with the WS-A 2004/08
version, the multi-version logic is largely restricted to the WS-A layer
just in advance of the types being encoded/decoded to/from the message
payload .. i.e. outgoing WS-A elements are represented in the native
2005/08 form throughout the stack before being transformed to the
2004/08 version if necessary just prior to encoding as outbound SOAP
headers (the if necessary case occurs in practice only if WS-RM is part
of the picture). Similarly incoming WS-A 2004/08 elements are
transformed to the native 2005/08 representation just after being
decoded from the inbound protocol headers.

AddressingProperties.getNamespaceURI() determines if the 2005/08 or
2004/08 versions are used to encode the addressing properties. If you
want to this to be 2005/08, then no inravention is required. If, on the
other hand, you want 2004/08 for some reason, then you could install in
the outbound chain either a JAX-WS LogicalHandler or native CXF
interceptor (of LOGICAL phase or later), retrieve the current
AddressingPropertiesImpl instance and use the exposeAs() API to set
this. See the org.apache.cxf.ws.rm.RMContextUtils.ensureExposeAs()
method for example usage. I guess a good extension of this would be to
allow the 2004/08 version to be selected declaratively (i.e. via config
or a policy) as opposed to programmatically ... we didn't provide this
flexibility initially as the only known use-case was "internal" (i.e.
the CXF WS-RM implementation).

Cheers,
Eoghan

> -----Original Message-----
> From: Guy Pardon [mailto:[EMAIL PROTECTED] 
> Sent: 26 March 2007 13:30
> To: [email protected]
> Subject: WS-Addressing version support
> 
> Hi,
> 
> Exactly what versions of the WS-Addressing specs are 
> supported in CXF? How can I switch between them?
> 
> Thanks,
> Guy
> 

Reply via email to