Author: mmusaji
Date: 2012-11-26 08:40:18 -0500 (Mon, 26 Nov 2012)
New Revision: 17040
Modified:
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10449/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10449/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
Log:
[JBPAPP-10449] Responder supports the inbound soap message with wsa MessageID and
RelatesTo headers
Modified:
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10449/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
===================================================================
---
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10449/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java 2012-11-26
10:20:47 UTC (rev 17039)
+++
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10449/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java 2012-11-26
13:40:18 UTC (rev 17040)
@@ -789,7 +789,7 @@
synchronized (correlatedExchange) {
message.setExchange(correlatedExchange);
}
- } else {
+ } else if (ContextUtils.isRequestor(message) &&
!message.getExchange().isOneWay()) {
if (ContextUtils.retrieveDeferUncorrelatedMessageAbort(message)) {
LOG.fine("deferring uncorrelated message abort");
ContextUtils.storeDeferredUncorrelatedMessageAbort(message);
Modified:
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10449/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
===================================================================
---
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10449/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java 2012-11-26
10:20:47 UTC (rev 17039)
+++
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10449/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java 2012-11-26
13:40:18 UTC (rev 17040)
@@ -190,6 +190,19 @@
}
@Test
+ public void testResponderInboundWithRelatesTo() throws Exception {
+ SoapMessage message = setUpMessage(false, false, false, false, Boolean.TRUE,
+ Names.WSA_NAMESPACE_NAME);
+ //empty the uncorrelatedExchanges in responder
+ for (String key : codec.uncorrelatedExchanges.keySet()) {
+ codec.uncorrelatedExchanges.remove(key);
+ }
+ codec.handleMessage(message);
+ control.verify();
+ verifyMessage(message, false, false, false);
+ }
+
+ @Test
public void testResponderInboundNonNative() throws Exception {
String uri = VersionTransformer.Names200408.WSA_NAMESPACE_NAME;
SoapMessage message = setUpMessage(false, false, false, false, uri);
@@ -281,9 +294,16 @@
private SoapMessage setUpMessage(boolean requestor, boolean outbound, boolean
invalidMAP,
boolean preExistingSOAPAction, String exposeAs)
throws Exception {
+ return setUpMessage(requestor, outbound, invalidMAP, preExistingSOAPAction, null,
exposeAs);
+ }
+
+ private SoapMessage setUpMessage(boolean requestor, boolean outbound, boolean
invalidMAP,
+ boolean preExistingSOAPAction, Boolean
generateRelatesTo,
+ String exposeAs) throws Exception {
SoapMessage message = new SoapMessage(new MessageImpl());
setUpOutbound(message, outbound);
- expectRelatesTo = (requestor && !outbound) || (!requestor &&
outbound);
+ expectRelatesTo = generateRelatesTo != null ? generateRelatesTo
+ : (requestor && !outbound) || (!requestor && outbound);
message.put(REQUESTOR_ROLE, Boolean.valueOf(requestor));
String mapProperty = getMAPProperty(requestor, outbound);
AddressingPropertiesImpl maps = getMAPs(requestor, outbound, exposeAs);
Show replies by date