Author: asanka
Date: Tue Jan 27 09:40:40 2009
New Revision: 738042

URL: http://svn.apache.org/viewvc?rev=738042&view=rev
Log:
fixing the message respose to send using out message context.

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java?rev=738042&r1=738041&r2=738042&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
 Tue Jan 27 09:40:40 2009
@@ -21,13 +21,14 @@
 
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.addressing.RelatesTo;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.InOutAxisOperation;
 import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.engine.AxisEngine;
+import org.apache.axis2.util.MessageContextBuilder;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.SynapseConstants;
@@ -35,8 +36,6 @@
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
 import org.apache.synapse.core.axis2.SynapseMessageReceiver;
-import org.apache.synapse.endpoints.AddressEndpoint;
-import org.apache.synapse.endpoints.EndpointDefinition;
 import org.apache.synapse.eventing.builders.ResponseMessageBuilder;
 import org.apache.synapse.eventing.builders.SubscriptionMessageBuilder;
 import org.apache.synapse.util.MessageHelper;
@@ -254,7 +253,6 @@
             }
             List<SynapseSubscription> subscribers = 
subscriptionManager.getMatchingSubscribers(smc);
             for (SynapseSubscription subscription : subscribers) {
-                //TODO: send a 202 responce to the client, client wait and 
time outs 
                 smc.setProperty("OUT_ONLY", "true");    // Set one way message 
for events
                 
subscription.getEndpoint().send(MessageHelper.cloneMessageContext(smc));
                 if (log.isDebugEnabled()) {
@@ -281,22 +279,12 @@
                                   MessageContext mc,
                                   SynapseConfiguration synCfg,
                                   SynapseEnvironment synEnv) throws AxisFault {
-        String replyAddress = mc.getOptions().getReplyTo().getAddress();
-        AddressEndpoint endpoint = new AddressEndpoint();
-        EndpointDefinition def = new EndpointDefinition();
-        def.setAddress(replyAddress.trim());
-        def.setAddressingOn(true);
-        endpoint.setDefinition(def);
-        org.apache.synapse.MessageContext rmc = new Axis2MessageContext(mc, 
synCfg, synEnv);
+        MessageContext rmc = MessageContextBuilder.createOutMessageContext(mc);
+        rmc.getOperationContext().addMessageContext(rmc);
         rmc.setEnvelope(soapEnvelope);
-        rmc.setTo(new EndpointReference(replyAddress));
-        rmc.setWSAAction(
-                responseAction);        //TODO wsa headers cannot see in the 
response message, it drops just before dispatching
+        rmc.setWSAAction(responseAction);
         rmc.setSoapAction(responseAction);
-        if (relatesTo != null) {
-            rmc.setRelatesTo(new RelatesTo[]{relatesTo});
-        }
-        rmc.setResponse(true);
-        endpoint.send(rmc);
+        rmc.setProperty(SynapseConstants.ISRESPONSE_PROPERTY, Boolean.TRUE);
+        AxisEngine.send(rmc);
     }
 }


Reply via email to