Jason, Our support for WS-A 2004/08 was added specifically for the CXF WS-RM implementation, as WS-RM 1.0 depended on that older version of WS-A.
As a result the mechanism for enabling this feature is a tad unfriendly, requiring an API call on the AddressingProperties to specify the WS-A version you require. See for example how the WS-RM code calls this exposeAs() API: http://svn.apache.org/repos/asf/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMManager.java AddressingPropertiesImpl inMaps = RMContextUtils.retrieveMAPs(message, false, false); inMaps.exposeAs(VersionTransformer.Names200408.WSA_NAMESPACE_NAME); You could write a simple interceptor to run after the WS-A MapAggregator which takes a similar approach to the above. Cheers, Eoghan 2009/11/3 Jason Clark <[email protected]> > Hello all, > > Has anyone here had an opportunity to use the 2004/08 version of > WS-Addressing (http://schemas.xmlsoap.org/ws/2004/08/addressing). > > The service I'm attempting to connect to will only accept that version. I > see on http://cwiki.apache.org/CXF20DOC/ws-addressing.html that "CXF > provides support for the 2004-08 and 1.0 versions of WS-Addressing.", but > haven't been able to determine what it is I need to do to change it. > > In Axis2 1.4, I'm able to explicitly specify the version by : > > > options.setProperty(org.apache.axis2.addressing.AddressingConstants.WS_ADDRESSING_VERSION, > org.apache.axis2.addressing.AddressingConstants.Submission.WSA_NAMESPACE); > > > With CXF, I've set up WS-Addressing with: > > ClientProxyFactoryBean factory = new ClientProxyFactoryBean(); > factory.setServiceClass(OrderServiceSoap.class); > factory.setAddress(" > https://webservice.jcorp.com/OrderService.asmx"); > factory.getFeatures().add(new WSAddressingFeature() ); > > And when I examine the raw request, I see: > > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > <soap:Header> > <Action xmlns="*http://www.w3.org/2005/08/addressing*"> > http://service.jcorp.com/OrderServiceSoapPortType/getStudy > </Action> > <MessageID xmlns="*http://www.w3.org/2005/08/addressing*"> > urn:uuid:a559ae80-d667-4795-8d74-3e3c2319d1b3</MessageID> > <To xmlns="http://www.w3.org/2005/08/addressing"> > https://service.jcorp.com/OrderService.asmx > </To> > <ReplyTo xmlns="http://www.w3.org/2005/08/addressing"> > <Address>http://www.w3.org/2005/08/addressing/anonymous > </Address> > </ReplyTo> > </soap:Header> > <soap:Body> > <ns1:getStudy xmlns:ns1="http://service.jcorp.com/"> > <ns2:arg0 xmlns="http://jcorp.com/service" > xmlns:ns2="http://service.jcorp.com/">234</ns2:arg0> > </ns1:getStudy> > </soap:Body> > </soap:Envelope> > > So it's attempting to do the right thing. Could someone please point me in > the right direction? >
