You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ch...@apache.org on 2011/12/13 10:38:49 UTC

svn commit: r1213629 - in /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward: BlockingMessageSender.java ForwardingJob.java MessageForwardingProcessorView.java

Author: charith
Date: Tue Dec 13 09:38:48 2011
New Revision: 1213629

URL: http://svn.apache.org/viewvc?rev=1213629&view=rev
Log:
Fix SYNAPSE-805

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/BlockingMessageSender.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/MessageForwardingProcessorView.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=1213629&r1=1213628&r2=1213629&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 Tue Dec 13 09:38:48 2011
@@ -42,6 +42,7 @@ import org.apache.synapse.MessageContext
 import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
+import org.apache.synapse.endpoints.EndpointDefinition;
 import org.apache.synapse.util.MessageHelper;
 
 
@@ -77,10 +78,20 @@ public class BlockingMessageSender {
         }
     }
 
-    public MessageContext send(MessageContext messageIn , String serviceUrl) throws Exception {
+    /**
+     * Send the message to a given AddressEndpoint in a blocking manner
+     * @param endpoint EndpointDefinition for the given address endpoint
+     * @param messageIn Synapse Message Context to be sent
+     * @return  OutPut message Context
+     * @throws Exception
+     */
+    public MessageContext send(EndpointDefinition endpoint, MessageContext messageIn)
+            throws Exception {
+
+        String serviceUrl = endpoint.getAddress();
 
         if(log.isDebugEnabled()) {
-            log.debug("Start Sending the Message ");
+            log.debug("Start Sending the Message : " + messageIn.getMessageID());
         }
 
         try {
@@ -106,26 +117,22 @@ public class BlockingMessageSender {
 
             }
 
-           //After setting all the options we need to find the MEP of the Message
-           org.apache.axis2.context.MessageContext axis2Ctx =
-                   ((Axis2MessageContext)messageOut).getAxis2MessageContext();
-
-           boolean outOnlyMessage = "true".equals(messageIn.getProperty(
-                SynapseConstants.OUT_ONLY)) || WSDL2Constants.MEP_URI_IN_ONLY.equals(
-                axis2Ctx.getOperationContext()
-                        .getAxisOperation().getMessageExchangePattern());
+            //After setting all the options we need to find the MEP of the Message
+            org.apache.axis2.context.MessageContext axis2Ctx =
+                    ((Axis2MessageContext) messageOut).getAxis2MessageContext();
+
+            boolean outOnlyMessage = "true".equals(messageIn.getProperty(
+                    SynapseConstants.OUT_ONLY)) || WSDL2Constants.MEP_URI_IN_ONLY.equals(
+                    axis2Ctx.getOperationContext()
+                            .getAxisOperation().getMessageExchangePattern());
 
             // Here We consider all other Messages that evaluates to outOnlyMessage == false
             // follows out in mep.
-            if(log.isDebugEnabled()) {
+            if (log.isDebugEnabled()) {
                 log.debug("Invoking service Url " + serviceUrl + " with Message" +
                         messageIn.getMessageID());
             }
 
-
-
-
-
             options.setProperty(
                     AddressingConstants.DISABLE_ADDRESSING_FOR_OUT_MESSAGES, Boolean.TRUE);
 
@@ -141,6 +148,12 @@ public class BlockingMessageSender {
                 }
             }
 
+            if (endpoint.isUseMTOM()) {
+                options.setProperty(Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);
+            } else if (endpoint.isUseSwa()) {
+                options.setProperty(Constants.Configuration.ENABLE_SWA, Constants.VALUE_TRUE);
+            }
+
             sc.setOptions(options);
             OMElement result = null;
             try {

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java?rev=1213629&r1=1213628&r2=1213629&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java Tue Dec 13 09:38:48 2011
@@ -123,11 +123,10 @@ public class ForwardingJob implements St
                     Endpoint ep = messageContext.getEndpoint(targetEp);
 
                     if (ep instanceof AddressEndpoint) {
-                        AddressEndpoint addEp = (AddressEndpoint) ep;
-                        String addressUrl = addEp.getDefinition().getAddress();
 
                         try {
-                            MessageContext outCtx = sender.send(messageContext, addressUrl);
+                            MessageContext outCtx = sender.send(
+                                    ((AddressEndpoint) ep).getDefinition(), messageContext);
 
                             if (outCtx != null && "true".equals(outCtx.
                                     getProperty(ForwardingProcessorConstants.BLOCKING_SENDER_ERROR))) {

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/MessageForwardingProcessorView.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/MessageForwardingProcessorView.java?rev=1213629&r1=1213628&r2=1213629&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/MessageForwardingProcessorView.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/MessageForwardingProcessorView.java Tue Dec 13 09:38:48 2011
@@ -199,11 +199,10 @@ public class MessageForwardingProcessorV
                 Endpoint ep = messageContext.getEndpoint(targetEp);
 
                 if (ep instanceof AddressEndpoint) {
-                    AddressEndpoint addEp = (AddressEndpoint) ep;
-                    String addressUrl = addEp.getDefinition().getAddress();
 
                     try {
-                        MessageContext outCtx = sender.send(messageContext, addressUrl);
+                        MessageContext outCtx = sender.send(
+                                ((AddressEndpoint) ep).getDefinition(), messageContext);
                         // If no Exception Occurred We remove the Message
                         if (delete) {
                             messageStore.poll();