Author: ema
Date: Fri Dec 10 14:19:02 2010
New Revision: 1044369
URL: http://svn.apache.org/viewvc?rev=1044369&view=rev
Log:
Merged revisions 1044361 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1044361 | ema | 2010-12-10 22:07:27 +0800 (Fri, 10 Dec 2010) | 1 line
[CXF-3181]:Responder supports the inbound soap message with wsa MessageID and
RelatesTo headers
........
Modified:
cxf/branches/2.3.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
cxf/branches/2.3.x-fixes/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
Modified:
cxf/branches/2.3.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.3.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java?rev=1044369&r1=1044368&r2=1044369&view=diff
==============================================================================
---
cxf/branches/2.3.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
(original)
+++
cxf/branches/2.3.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
Fri Dec 10 14:19:02 2010
@@ -796,7 +796,7 @@ public class MAPCodec extends AbstractSo
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:
cxf/branches/2.3.x-fixes/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java?rev=1044369&r1=1044368&r2=1044369&view=diff
==============================================================================
---
cxf/branches/2.3.x-fixes/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
(original)
+++
cxf/branches/2.3.x-fixes/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
Fri Dec 10 14:19:02 2010
@@ -190,6 +190,19 @@ public class MAPCodecTest extends Assert
}
@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 @@ public class MAPCodecTest extends Assert
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);