I am sending you my first implementation of the WS-Addressing consuming.
The patch add supported following routes uri definitions:
<from uri="spring-ws:action:<your wsa action>?endpointMapping=#wsaEndpointMapping"/>
<from uri="spring-ws:action:<your wsa action>:<your wsa to>?endpointMapping=#wsaEndpointMapping"/>
<from uri="spring-ws:to:<your wsa to address>?endpointMapping=#wsaEndpointMapping"/>
<form uri="spring-ws:to:<your wsa to address>:<your wsa action>?endpointMapping=#wsaEndpointMapping"/>
If you need to specify reply action for response or fault response you can use similar params to spring ws's @Action, e.g. the output and the fault action. This will cause to generate a response using the WS-Adressing with the explicit stated actions other wise is default response action used as the same as in spring ws impl.
<to uri="mock:testOutputAndFault" />
The fault and output params are in this patch supported for spring-ws:action, for spring-ws:to action i will impl. them soon.
In the examples above I am using the wsaEndpointMapping, which is a brand new implementation of EndpointMapping for action and to préfixes. Impl. is based and extends spring ws addressing classes to avoid duplicities. Also are supported actors and roles.
<property name="messageSender"> <!-- for replyTo -->
<!--here is used only sample in memory sender, but it could be mail for instance or http sender.
I think at this point should be here a class that manage reply using camel. For example it would be nice to specify here
<to uri="direct:sendMail"> instead of the raw mail impl. of WebServiceMessageSender. This needs to be clarified with the comunity.
You can also specify the sender in order to support wsa replyTo. This functionality is still under the conceptual development and It would be nice to discuss it with you.
Anyway I think the first part of work (consuming) is done and I am looking forward to hear about your comments.
Tests are essential part of the patch. Documentation will be delivered at the end of impl. - it depends on our father discussion.
The patch is created against the trunk.
PS: I have created eclipse project using maven but -Psetup.eclipse did not prepare a formatter. Could you suggest what to do in order to get your code formatter? Thanks.
Your camel's rider,