Yep, effect at least disappears under 2.7.9.
Seems to be fixed.

Thanks, Dan - I will close CXF-5539 as duplicated.

Regards,
Andrei.

> -----Original Message-----
> From: Daniel Kulp [mailto:[email protected]]
> Sent: Dienstag, 4. Februar 2014 17:21
> To: [email protected]; Andrei Shakirin
> Subject: Re: WS-Addressing with JMS for OneWay: empty response is sent to
> client queue
> 
> 
> Andrei,
> 
> Does it still do this with 2.7.9?   Part of this (particularly the message 
> sent to
> "none") should be fixed as part of
> https://issues.apache.org/jira/browse/CXF-5434
> 
> I'd like to double check if anything else is still wrong.
> 
> Dan
> 
> 
> 
> On Feb 4, 2014, at 11:17 AM, Andrei Shakirin <[email protected]> wrote:
> 
> > Hi,
> >
> > I am confused with one effect appearing in case of using WS-Addressing,
> oneway message pattern and JMS transport.
> >
> > The problem is that service tries to send empty response to the ReplyTo
> JMS queue for oneway operation if WS-A is active.
> > Empty message is sent by OneWayProcessorInterceptor. Without WS-A it is
> not a problem, because JMSDestination.sendExchange() checks if exchange
> is oneway and if yes, returns immediately.
> > But if WS-A is active, MAPAggregator creates decoupled destination with
> JMSConduit as a sender. JMSConduit.sendExchange() doesn't produce any
> checks for oneway and it tries to send empty response to ReplyTo address.
> > Even if ReplyTo is anonymous or none, empty response is sent using
> > http conduit to http://www.w3.org/2005/08/addressing/none address :)
> >
> > The question does the rebaseResponse and decoupled destination make
> sense for oneway at all? Basically client shouldn't expect any response in 
> this
> case (only 202 for HTTP).
> > Could this check in MAPAggregator:
> >
> >                if (isOneway
> >                    || !ContextUtils.isGenericAddress(maps.getReplyTo())) {
> >                    InternalContextUtils.rebaseResponse(maps.getReplyTo(),
> >                                                maps,
> >                                                message);
> >                }
> >
> > Be replaced to something like:
> >                if (!isOneway
> >                    && !ContextUtils.isGenericAddress(maps.getReplyTo())) {
> >                    InternalContextUtils.rebaseResponse(maps.getReplyTo(),
> >                                                maps,
> >                                                message);
> >                }
> >
> > Am I missing something?
> >
> > Regards,
> > Andrei.
> 
> --
> Daniel Kulp
> [email protected] - http://dankulp.com/blog Talend Community Coder -
> http://coders.talend.com

Reply via email to