[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/0bb262c2 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/0bb262c2 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/0bb262c2 Branch: refs/heads/3.0.x-fixes Commit: 0bb262c26d40cad9d1136e4e6cc92a453385aec6 Parents: 896952e 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:54:31 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/0bb262c2/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/0bb262c2/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);