Author: asankha
Date: Fri Mar 27 16:32:11 2009
New Revision: 759202
URL: http://svn.apache.org/viewvc?rev=759202&view=rev
Log:
fix SYNAPSE-525 and correct error made in the fix of SYNAPSE-422
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java?rev=759202&r1=759201&r2=759202&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
Fri Mar 27 16:32:11 2009
@@ -139,6 +139,9 @@
public static final String RESPONSE = "RESPONSE";
/** The Synapse MC property that marks the message as a OUT_ONLY
message */
public static final String OUT_ONLY = "OUT_ONLY";
+ /** The Synapse MC property that states that existing WS-A headers in
the envelope should
+ * be preserved */
+ public static final String PRESERVE_WS_ADDRESSING =
"PRESERVE_WS_ADDRESSING";
//-- error handling --
/** An Axis2 message context property indicating a transport send
failure */
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java?rev=759202&r1=759201&r2=759202&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
Fri Mar 27 16:32:11 2009
@@ -113,7 +113,8 @@
// create a new MessageContext to be sent out as this should not
corrupt the original
// we need to create the response to the original message later on
- MessageContext axisOutMsgCtx = cloneForSend(originalInMsgCtx,
wsAddressingEnabled);
+ MessageContext axisOutMsgCtx = cloneForSend(originalInMsgCtx,
+ (String)
synapseOutMessageContext.getProperty(SynapseConstants.PRESERVE_WS_ADDRESSING));
if (log.isDebugEnabled()) {
log.debug("Message [Original Request Message ID : " +
synapseOutMessageContext.getMessageID()
@@ -317,12 +318,14 @@
mepClient.execute(true);
}
- private static MessageContext cloneForSend(MessageContext ori, boolean
wsAddressingEnabled) throws AxisFault {
+ private static MessageContext cloneForSend(MessageContext ori, String
preserveWSAdd) throws AxisFault {
MessageContext newMC = MessageHelper.clonePartially(ori);
newMC.setEnvelope(ori.getEnvelope());
- if (wsAddressingEnabled) {
+ if (preserveWSAdd != null && Boolean.parseBoolean(preserveWSAdd)) {
+ newMC.setMessageID(ori.getMessageID());
+ } else {
MessageHelper.removeAddressingHeaders(newMC);
}