Hi Richard,

This is not the first time I read this question. I would also be interested
in the answer from an expert. I am working with Spring WS at the moment,
and there we have an @Action annotation. If methods are annotated with it,
Spring uses the wsa:Action of the incoming SOAP requests to route them to
the processors (and not the type of the SOAP body). I really miss this
feature from CXF. There are so many reasons why I would recommend for my
bosses to move from Spring WS to CXF, but as we have a system where
wsa:Action is the addressing approach chosen, I am still waiting for a good
wsa:Action based routing solution from CXF.

So Richard, I am afraid CXF simply routes the SOAP requests based on the
type of the SOAP body. And it ignores the wsa:Action. I just suspect this,
not sure.

Regards,
Ivan




2014-07-09 16:14 GMT+02:00 Richard Snowden <[email protected]>:

> Hi,
>
> I'm working with the WS-Addressing example from CXF 3.0.0 found here:
> apache-cxf-3.0.0-src\distribution\src\main\release\samples\ws_addressing\
>
> I captured one request, sent from client to server, and used Chromes
> Postman extension to modify it:
> - made sure there's no SOAPAction the HTTP-Header
> - set wsa:Action to some random value, like "blablabla"
>
> Surprisingly it still worked!
>
> It seems the WS-Addressing SOAP-Header field "Action" is not used at all in
> CXF. Is this a bug or a feature? ;-)
>
>
> Here is one of my requests:
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>     <soap:Header>
>         <Action xmlns="http://www.w3.org/2005/08/addressing
> ">blablabla</Action>
>         <MessageID xmlns="http://www.w3.org/2005/08/addressing
> ">urn:uuid:fa46e01c-f5c7-4d5b-b653-0f79d59885e8</MessageID>
>         <To xmlns="http://www.w3.org/2005/08/addressing";>
> http://localhost:9000/SoapContext/SoapPort</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>
>         <greetMe xmlns="http://apache.org/hello_world_soap_http/types";>
>             <requestType>rsnowden</requestType>
>         </greetMe>
>     </soap:Body>
> </soap:Envelope>
>

Reply via email to