[CXF-7187] Check for the other soap fault action value to correlate response
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/cf5a6d6e Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/cf5a6d6e Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/cf5a6d6e Branch: refs/heads/3.1.x-fixes Commit: cf5a6d6e83c94f21b1f54d2c48d2be8cef4f972c Parents: 15ed5d4 Author: Daniel Kulp <dk...@apache.org> Authored: Tue Apr 4 12:31:36 2017 -0400 Committer: Daniel Kulp <dk...@apache.org> Committed: Tue Apr 4 12:53:43 2017 -0400 ---------------------------------------------------------------------- core/src/main/java/org/apache/cxf/ws/addressing/Names.java | 5 ++++- .../main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/cf5a6d6e/core/src/main/java/org/apache/cxf/ws/addressing/Names.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/cxf/ws/addressing/Names.java b/core/src/main/java/org/apache/cxf/ws/addressing/Names.java index b80758e..51d2c80 100644 --- a/core/src/main/java/org/apache/cxf/ws/addressing/Names.java +++ b/core/src/main/java/org/apache/cxf/ws/addressing/Names.java @@ -109,7 +109,10 @@ public final class Names { "/fault"; public static final String WSA_DEFAULT_FAULT_ACTION = WSA_NAMESPACE_NAME + WSA_FAULT_DELIMITER; - + + public static final String WSA_DEFAULT_SOAP_FAULT_ACTION = + WSA_NAMESPACE_NAME + "/soap" + WSA_FAULT_DELIMITER; + public static final String WSAW_ACTION_NAME = "Action"; public static final QName WSAW_ACTION_QNAME = new QName(WSA_NAMESPACE_WSDL_NAME, WSAW_ACTION_NAME); http://git-wip-us.apache.org/repos/asf/cxf/blob/cf5a6d6e/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 c546edf..9cef853 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 @@ -855,7 +855,8 @@ public class MAPCodec extends AbstractSoapInterceptor { } } else if (maps.getRelatesTo() == null && maps.getAction() != null - && Names.WSA_DEFAULT_FAULT_ACTION.equals(maps.getAction().getValue())) { + && (Names.WSA_DEFAULT_FAULT_ACTION.equals(maps.getAction().getValue()) + || Names.WSA_DEFAULT_SOAP_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);