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> >
