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();