Author: asankaa
Date: Fri Nov 21 01:16:45 2008
New Revision: 24448
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=24448

Log:
Subscription response


Modified:
   
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventingMessageReceiver.java
   
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java
   
branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java

Modified: 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventingMessageReceiver.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventingMessageReceiver.java?rev=24448&r1=24447&r2=24448&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventingMessageReceiver.java
     (original)
+++ 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventingMessageReceiver.java
     Fri Nov 21 01:16:45 2008
@@ -20,8 +20,12 @@
 package org.apache.synapse.eventing;
 
 import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.MessageContext;
 import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.endpoints.Endpoint;
+import org.apache.synapse.endpoints.AddressEndpoint;
+import org.apache.synapse.endpoints.EndpointDefinition;
 import org.apache.synapse.eventing.builders.ResponseMessageBuilder;
 import org.apache.synapse.config.SynapseConfiguration;
 import org.apache.synapse.core.SynapseEnvironment;
@@ -52,9 +56,17 @@
         if (EventingConstants.WSE_SUBSCRIBE.equals(mc.getWSAAction())) {
             Subscription subscription = 
SubscriptionFactory.createSubscription(smc);
             eventSource.getSubscriptionManager().addSubscription(subscription);
-            ResponseMessageBuilder messageBuilder = new 
ResponseMessageBuilder();
+            ResponseMessageBuilder messageBuilder = new 
ResponseMessageBuilder(mc);
             SOAPEnvelope soapEnvelope = 
messageBuilder.genSubscriptionResponse(subscription);
-            String replyAddress = mc.getOptions().getTo().getAddress();
+            String replyAddress = mc.getOptions().getReplyTo().getAddress();
+            AddressEndpoint endpoint = new AddressEndpoint();
+            EndpointDefinition def = new EndpointDefinition();
+            def.setAddress(replyAddress.trim());
+            endpoint.setDefinition(def);
+            org.apache.synapse.MessageContext rmc = new 
Axis2MessageContext(mc, synCfg, synEnv);
+            rmc.setTo(new EndpointReference(replyAddress));
+            rmc.setEnvelope(soapEnvelope);
+            endpoint.send(MessageHelper.cloneMessageContext(rmc));
         } else {
             List<Subscription> subscribers = 
eventSource.getSubscriptionManager().getMatchingSubscribers(smc);
             for (Subscription subscription : subscribers) {

Modified: 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java?rev=24448&r1=24447&r2=24448&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java
     (original)
+++ 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java
     Fri Nov 21 01:16:45 2008
@@ -39,8 +39,9 @@
 public class ResponseMessageBuilder {
     private SOAPFactory factory;
     private static final Log log = 
LogFactory.getLog(ResponseMessageBuilder.class);
-    public ResponseMessageBuilder(){
-        factory =(SOAPFactory) OMAbstractFactory.getOMFactory();
+    public ResponseMessageBuilder(MessageContext messageCtx){
+        factory = (SOAPFactory) messageCtx.getEnvelope().getOMFactory();
+        //factory =(SOAPFactory) OMAbstractFactory.getOMFactory();
     }
 
     /**

Modified: 
branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java?rev=24448&r1=24447&r2=24448&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java
    (original)
+++ 
branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java
    Fri Nov 21 01:16:45 2008
@@ -109,8 +109,12 @@
         
options.setAction("http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe";);
         serviceClient.setOptions(options);
         System.out.println("Subscribing \n"+subscribeOm.toString());
-        serviceClient.sendRobust(subscribeOm);
+        //serviceClient.sendRobust(subscribeOm);
+        OMElement response = serviceClient.sendReceive(subscribeOm);
         System.out.println("Subscribed to topic "+topic);
+        Thread.sleep(5000);
+        System.out.println("Response Received: " + response.toString());
+
         try {
             if (configContext != null) {
                 configContext.terminate();

_______________________________________________
Esb-java-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev

Reply via email to