You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ds...@apache.org on 2011/08/01 06:59:36 UTC
svn commit: r1152690 - in /cxf/trunk/rt/ws/rm/src:
main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java
test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java
Author: dsosnoski
Date: Mon Aug 1 04:59:35 2011
New Revision: 1152690
URL: http://svn.apache.org/viewvc?rev=1152690&view=rev
Log:
Fix RMOutInterceptor to expose correct version of WS-RM and WS-A in messages being sent.
Modified:
cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java
cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java
Modified: cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java?rev=1152690&r1=1152689&r2=1152690&view=diff
==============================================================================
--- cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java (original)
+++ cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java Mon Aug 1 04:59:35 2011
@@ -60,9 +60,10 @@ public class RMOutInterceptor extends Ab
LogUtils.log(LOG, Level.WARNING, "MAPS_RETRIEVAL_FAILURE_MSG");
return;
}
- maps.exposeAs(getManager().getRMAddressingNamespace());
Source source = getManager().getSource(msg);
+ ProtocolVariation protocol = source.getReliableEndpoint().getProtocol();
+ maps.exposeAs(protocol.getWSANamespace());
Destination destination = getManager().getDestination(msg);
String action = null;
@@ -76,8 +77,8 @@ public class RMOutInterceptor extends Ab
boolean isApplicationMessage = !RMContextUtils.isRMProtocolMessage(action);
boolean isPartialResponse = MessageUtils.isPartialResponse(msg);
- boolean isLastMessage = RM10Constants.CLOSE_SEQUENCE_ACTION.equals(action)
- || RM11Constants.CLOSE_SEQUENCE_ACTION.equals(action);
+ RMConstants constants = protocol.getConstants();
+ boolean isLastMessage = constants.getCloseSequenceAction().equals(action);
if (isApplicationMessage && !isPartialResponse) {
RetransmissionInterceptor ri = new RetransmissionInterceptor();
@@ -96,22 +97,7 @@ public class RMOutInterceptor extends Ab
RMProperties rmpsOut = RMContextUtils.retrieveRMProperties(msg, true);
if (null == rmpsOut) {
rmpsOut = new RMProperties();
- String uri = null;
- if (RMContextUtils.isServerSide(msg)) {
- RMProperties rmpsIn = RMContextUtils
- .retrieveRMProperties(msg.getExchange().getInMessage(), false);
- uri = rmpsIn.getNamespaceURI();
- } else {
- uri = (String)msg.getContextualProperty(RMManager.WSRM_VERSION_PROPERTY);
- }
- if (uri != null && RMUtils.getConstants(uri) == null) {
- LogUtils.log(LOG, Level.WARNING, "Ignoring unknown WS-RM namespace: " + uri);
- uri = null;
- }
- if (uri == null) {
- uri = getManager().getRMNamespace();
- }
- rmpsOut.exposeAs(uri);
+ rmpsOut.exposeAs(protocol.getWSRMNamespace());
RMContextUtils.storeRMProperties(msg, rmpsOut, true);
}
@@ -160,35 +146,25 @@ public class RMOutInterceptor extends Ab
source.setCurrent(null);
}
}
- } else {
- if (!MessageUtils.isRequestor(msg)) {
- if (RM10Constants.CREATE_SEQUENCE_ACTION.equals(action)) {
- maps.getAction().setValue(RM10Constants.CREATE_SEQUENCE_RESPONSE_ACTION);
- } else if (RM11Constants.CREATE_SEQUENCE_ACTION.equals(action)) {
- maps.getAction().setValue(RM11Constants.CREATE_SEQUENCE_RESPONSE_ACTION);
- }
- }
+ } else if (!MessageUtils.isRequestor(msg) && constants.getCreateSequenceAction().equals(action)) {
+ maps.getAction().setValue(constants.getCreateSequenceResponseAction());
}
// add Acknowledgements (to application messages or explicitly
// created Acknowledgement messages only)
- if (isApplicationMessage || RM10Constants.SEQUENCE_ACKNOWLEDGMENT_ACTION.equals(action)
- || RM11Constants.SEQUENCE_ACKNOWLEDGMENT_ACTION.equals(action)) {
+ if (isApplicationMessage || constants.getSequenceAckAction().equals(action)) {
AttributedURIType to = maps.getTo();
assert null != to;
addAcknowledgements(destination, rmpsOut, inSeqId, to);
if (isPartialResponse && rmpsOut.getAcks() != null && rmpsOut.getAcks().size() > 0) {
AttributedURIType actionURI = new AttributedURIType();
- actionURI.setValue(RMUtils.getConstants(rmpsOut.getNamespaceURI())
- .getSequenceAckAction());
+ actionURI.setValue(constants.getSequenceAckAction());
maps.setAction(actionURI);
}
}
- if (RM10Constants.SEQUENCE_ACKNOWLEDGMENT_ACTION.equals(action)
- || RM11Constants.SEQUENCE_ACKNOWLEDGMENT_ACTION.equals(action)
- || RM10Constants.TERMINATE_SEQUENCE_ACTION.equals(action)
- || RM11Constants.TERMINATE_SEQUENCE_ACTION.equals(action)) {
+ if (constants.getSequenceAckAction().equals(action)
+ || constants.getTerminateSequenceAction().equals(action)) {
maps.setReplyTo(RMUtils.createNoneReference());
}
Modified: cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java?rev=1152690&r1=1152689&r2=1152690&view=diff
==============================================================================
--- cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java (original)
+++ cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java Mon Aug 1 04:59:35 2011
@@ -133,7 +133,10 @@ public class RMOutInterceptorTest extend
queue.start();
EasyMock.expectLastCall();
+ RMEndpoint rme = control.createMock(RMEndpoint.class);
+ EasyMock.expect(rme.getProtocol()).andReturn(ProtocolVariation.RM10WSA200408).anyTimes();
Source source = control.createMock(Source.class);
+ EasyMock.expect(source.getReliableEndpoint()).andReturn(rme).anyTimes();
EasyMock.expect(manager.getSource(message)).andReturn(source).anyTimes();
Destination destination = control.createMock(Destination.class);
EasyMock.expect(manager.getDestination(message)).andReturn(destination).anyTimes();