You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ay...@apache.org on 2013/06/05 18:29:24 UTC

svn commit: r1489944 - in /cxf/branches/2.6.x-fixes: ./ rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java

Author: ay
Date: Wed Jun  5 16:29:24 2013
New Revision: 1489944

URL: http://svn.apache.org/r1489944
Log:
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.6.x-fixes/   (props changed)
    cxf/branches/2.6.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java

Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.6.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.6.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java?rev=1489944&r1=1489943&r2=1489944&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java (original)
+++ cxf/branches/2.6.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java Wed Jun  5 16:29:24 2013
@@ -843,8 +843,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)) {