Author: asankaa Date: Tue Jan 27 01:45:36 2009 New Revision: 29585 URL: http://wso2.org/svn/browse/wso2?view=rev&revision=29585
Log: fix to send the responce using the out-message context Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java?rev=29585&r1=29584&r2=29585&view=diff ============================================================================== --- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java (original) +++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java Tue Jan 27 01:45:36 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); } } _______________________________________________ Esb-java-dev mailing list [email protected] https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
