Thanks to all who helped me to tackle this problem!

2012/6/26 Marco Pas <[email protected]>:
> The solution of Dan did the trick...
>
> I implemented the following interceptor:
>
> public class SetReplyToSOAPHeaderInInterceptor extends 
> AbstractSoapInterceptor {
>
>    public SetReplyToSOAPHeaderInInterceptor() {
>        super(Phase.USER_PROTOCOL);
>    }
>
>    @Override
>    public void handleMessage(SoapMessage message) throws Fault {
>        AddressingProperties ap = ContextUtils.retrieveMAPs(message,
> true, false);
>        EndpointReferenceType epr = new EndpointReferenceType();
>        AttributedURIType aut = new AttributedURIType();
>        aut.setValue("http://www.w3.org/2005/08/addressing/anonymous";);
>        epr.setAddress(aut);
>        ap.setReplyTo(epr);
>    }
> }
>
> 2012/6/26 Aki Yoshida <[email protected]>:
>> Hi Marco,
>>
>> okay. In certain cases, one can use CXF's transform feature to perform
>> this kind of message modification. In your particular case, if your
>> inbound message has only one <Address> tag. (that would be the case if
>> you have only <ReplyTo> and no other address related fields), you can
>> use the transform feature's replace mode to replace the content of
>> this Address element to the anonymous target (e.g.,
>> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous or
>> whatever its variant of that addressing namespace).
>>
>> See
>> http://cxf.apache.org/docs/transformationfeature.html#TransformationFeature-Replacingtextcontent
>>
>> The current limitation of the transform feature is that you can't use
>> a path notation to pick a node in a specific path. This is the reason
>> why this feature will help you only if your message has only one
>> Address element that can be matched with the current one-node syntax.
>>
>> If this is not the case, you have to write your own interceptor, as
>> Dan described.
>>
>> regards, aki
>>
>> 2012/6/25 Marco Pas <[email protected]>:
>>> Hi Aki,
>>>
>>> Thanks for your reply, the clients is sending the ws addressing
>>> property in the wrong way. It is build expecting to get synchronous
>>> feedback, but it send a replyTo field filled with content making the
>>> call asynchronous. So the HTTP 202 is returned.
>>> So i was looking for ways on skipping the HTTP 202, but it seems that
>>> if i modifing the replyto header field should make it ok. Looking for
>>> a way to modify the replyTo property and make it synchronous, whatever
>>> the client is sending.
>>> I am aware that this is a rather strange solution and we should fix
>>> the client, but that is not in my reach to do so.
>>>
>>> Grtz
>>>
>>> 2012/6/25 Aki Yoshida <[email protected]>:
>>>> Hi Marco,
>>>> Is your client expecting some specific response message in the http 
>>>> response?
>>>>
>>>> The HTTP 202 response code is used for the HTTP response for a oneway
>>>> service call that returns no content or a request-response service
>>>> call, where the real response is configured to be sent back to another
>>>> port.
>>>>
>>>> I am not sure about your scenario. Is your client a oneway service
>>>> client that can't handle the HTTP 202 and expects the HTTP 200 with an
>>>> empty content or an empty SOAP envelope? Or it is a request-response
>>>> service client?
>>>>
>>>> regards, aki
>>>>
>>>> 2012/6/25 Marco Pas <[email protected]>:
>>>>> Hi there, i am looking for ways to skip the HTTP 202 reponse send back
>>>>> by CXF when using WS Addressing.
>>>>> We need to support clients that are not capable of handling the HTTP
>>>>> 202 response. The operate in a request-response mode and not
>>>>> are not able to handle the HTTP 202 returned by CXF.
>>>>>
>>>>> Is there any way to skip the HTTP 202 reponse ?
>>>>>
>>>>> /Marco

Reply via email to