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
