Return-Path: X-Original-To: apmail-cxf-commits-archive@www.apache.org Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 02EBF18FCD for ; Wed, 16 Sep 2015 17:55:01 +0000 (UTC) Received: (qmail 90502 invoked by uid 500); 16 Sep 2015 17:55:00 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 90432 invoked by uid 500); 16 Sep 2015 17:55:00 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 90421 invoked by uid 99); 16 Sep 2015 17:55:00 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Sep 2015 17:55:00 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id B7018DFD86; Wed, 16 Sep 2015 17:55:00 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: dkulp@apache.org To: commits@cxf.apache.org Date: Wed, 16 Sep 2015 17:55:00 -0000 Message-Id: <0d509284e2bf49f0b3a0631f1790c594@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/3] cxf git commit: [CXF-6590] Fix memory leak with fault responses that don't have a relatesTo header Repository: cxf Updated Branches: refs/heads/master a73effb59 -> 131c1febf [CXF-6590] Fix memory leak with fault responses that don't have a relatesTo header Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/9ac1b2a1 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/9ac1b2a1 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/9ac1b2a1 Branch: refs/heads/master Commit: 9ac1b2a19e4a0d020f58351b006a834847eb92f7 Parents: a73effb Author: Daniel Kulp Authored: Wed Sep 16 12:58:14 2015 -0400 Committer: Daniel Kulp Committed: Wed Sep 16 12:58:14 2015 -0400 ---------------------------------------------------------------------- .../apache/cxf/ws/addressing/soap/MAPCodec.java | 25 ++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/9ac1b2a1/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java ---------------------------------------------------------------------- diff --git a/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java b/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java index a324593..c546edf 100644 --- a/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java +++ b/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java @@ -842,14 +842,25 @@ public class MAPCodec extends AbstractSoapInterceptor { } } } - } else if (maps == null && isRequestor(message)) { - Message m = message.getExchange().getOutMessage(); - maps = ContextUtils.retrieveMAPs(m, false, true, false); - if (maps != null) { - Exchange ex = uncorrelatedExchanges.get(maps.getMessageID().getValue()); - if (ex == message.getExchange()) { + } else if (isRequestor(message)) { + if (maps == null) { + Message m = message.getExchange().getOutMessage(); + maps = ContextUtils.retrieveMAPs(m, false, true, false); + if (maps != null) { + Exchange ex = uncorrelatedExchanges.get(maps.getMessageID().getValue()); + if (ex == message.getExchange()) { + uncorrelatedExchanges.remove(maps.getMessageID().getValue()); + LOG.log(Level.WARNING, "RESPONSE_NOT_USING_WSADDRESSING"); + } + } + } else if (maps.getRelatesTo() == null + && maps.getAction() != null + && Names.WSA_DEFAULT_FAULT_ACTION.equals(maps.getAction().getValue())) { + //there is an Action header that points to a fault and no relatesTo. Use the out map for the ID + Message m = message.getExchange().getOutMessage(); + maps = ContextUtils.retrieveMAPs(m, false, true, false); + if (maps != null) { uncorrelatedExchanges.remove(maps.getMessageID().getValue()); - LOG.log(Level.WARNING, "RESPONSE_NOT_USING_WSADDRESSING"); } } }