Hi,

Just checked that wsa:Action is set for decoupled response in my test case.
How you activate decoupled response, by setting wsa:ReplyTo endpoint or via 
conduit? Could you post me the client code as well? 

Just as the test, could you try to set SOAP action on the service side and see 
if wsa:Action changed accordingly:
@Resource
private WebServiceContext wsContext;
...
wsContext.getMessageContext().put(SoapBindingConstants.SOAP_ACTION, 
"myTestOperation");

Regards,
Andrei.

> -----Original Message-----
> From: Guzmán Llambías [mailto:[email protected]]
> Sent: Freitag, 14. Februar 2014 15:54
> To: [email protected]
> Subject: wsa-action missing in decoupled responses
> 
> Hi guys!
> 
> I’m working with ws-addressing with decoupled responses and I’m having some
> trouble. My client calls the WS, the WS responds to the client and to the
> decoupled endpoint, but the answer is never processed by the client. Looking 
> at
> the answer, I found that the wsa:Action is missing and that’s the reason the
> client cannot understand the answer is from the service.
> 
> Here’s the WS response to the client:
> 
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
> <soap:Header>
> <MessageID
> xmlns="http://www.w3.org/2005/08/addressing";>urn:uuid:d133fb60-70c7-
> 4a93-a293-7f8c89e6896c</MessageID>
> <To
> xmlns="http://www.w3.org/2005/08/addressing";>http://www.w3.org/2005/08/
> addressing/anonymous</To>
> <ReplyTo xmlns="http://www.w3.org/2005/08/addressing";>
> <Address>http://www.w3.org/2005/08/addressing/none</Address>
> </ReplyTo>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
> 
> Here’s my Service config:
> 
> @WebService(targetNamespace="http://abitab.com.uy/servicios/addressing";)
> @Stateless
> @SecurityDomain("JBossWS")
> @Addressing(enabled=true,required=true)
> @Features(features = "org.apache.cxf.feature.LoggingFeature")
> public class AddressingSampleImpl implements AddressingSample {
> 
>     @WebMethod(action="http://abitab.com.uy/servicios/addressing/add";)
>     public int add(@WebParam(name="num1")  int a,
> @WebParam(name="num2")  int b) throws NegativeNumberException {
>         if (a < 0 || b <0)
>             throw new NegativeNumberException("Input data has negative
> numbers");
>         try {
>             Thread.sleep(25000);
>         } catch (InterruptedException e) {
>             e.printStackTrace();
>         }
>         return a+b;
>     }
> 
> any idea what I’m missing?
> 
> Thanks in advance
> Guzmán

Reply via email to