Author: ay Date: Wed Jun 5 17:16:56 2013 New Revision: 1489968 URL: http://svn.apache.org/r1489968 Log: Merged revisions 1489944 via svn merge from https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes
........ r1489944 | ay | 2013-06-05 18:29:24 +0200 (Wed, 05 Jun 2013) | 17 lines Merged revisions 1489943 via svn merge from https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes ........ r1489943 | ay | 2013-06-05 18:16:58 +0200 (Wed, 05 Jun 2013) | 9 lines Merged revisions 1489942 via svn merge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1489942 | ay | 2013-06-05 18:14:06 +0200 (Wed, 05 Jun 2013) | 1 line [CXF-5057] NPE at the decoupled endpoint when receving a response messge with unknown identifier ........ ........ ........ Modified: cxf/branches/2.5.x-fixes/ (props changed) cxf/branches/2.5.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java Propchange: cxf/branches/2.5.x-fixes/ ('svn:mergeinfo' removed) Propchange: cxf/branches/2.5.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.5.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java?rev=1489968&r1=1489967&r2=1489968&view=diff ============================================================================== --- cxf/branches/2.5.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java (original) +++ cxf/branches/2.5.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java Wed Jun 5 17:16:56 2013 @@ -845,8 +845,15 @@ public class MAPCodec extends AbstractSo } else if (!MessageUtils.getContextualBoolean(message, "org.apache.cxf.ws.addressing.MAPAggregator.addressingDisabled", false)) { - LOG.log(Level.WARNING, "CORRELATION_FAILURE_MSG"); - message.getInterceptorChain().abort(); + //see if it can directly be correlated with the out message: + Message outmsg = message.getExchange().getOutMessage(); + AddressingProperties outp = outmsg != null + ? ContextUtils.retrieveMAPs(outmsg, false, true, false) : null; + if (outp == null + || !outp.getMessageID().getValue().equals(maps.getRelatesTo().getValue())) { + LOG.log(Level.WARNING, "CORRELATION_FAILURE_MSG"); + message.getInterceptorChain().abort(); + } } } } else if (maps == null && isRequestor(message)) {
