Author: heshan
Date: Fri Jul 8 06:10:57 2011
New Revision: 1144165
URL: http://svn.apache.org/viewvc?rev=1144165&view=rev
Log:
Fix for SYNAPSE-786
Thanks Miyuru for the contribution.
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/BlockingMessageSender.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/BlockingMessageSender.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/BlockingMessageSender.java?rev=1144165&r1=1144164&r2=1144165&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/BlockingMessageSender.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/BlockingMessageSender.java
Fri Jul 8 06:10:57 2011
@@ -44,6 +44,8 @@ import org.apache.synapse.core.axis2.Axi
import org.apache.synapse.util.MessageHelper;
+import java.util.Iterator;
+
public class BlockingMessageSender {
private ServiceClient sc = null;
@@ -126,6 +128,19 @@ public class BlockingMessageSender {
options.setProperty(
AddressingConstants.DISABLE_ADDRESSING_FOR_OUT_MESSAGES,
Boolean.TRUE);
+ //clean existing headers
+ // otherwise when retrying same header element will add multiple
times
+ sc.removeHeaders();
+
+ axis2Ctx.getAttachmentMap();
+ Iterator itr = axis2Ctx.getEnvelope().getHeader().getChildren();
+ while (itr.hasNext()) {
+ Object o =itr.next();
+ if ( o instanceof OMElement ){
+ sc.addHeader((OMElement)o);
+ }
+ }
+
sc.setOptions(options);
OMElement result = null;
try {