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 {


Reply via email to