Author: asankaa
Date: Sun Nov 23 11:03:24 2008
New Revision: 24632
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=24632

Log:
unsunscribe request handling, modify the sample to send unsubscribe requests 


Modified:
   
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventSource.java
   
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/SubscriptionMessageBuilder.java
   
branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java
   branches/synapse/1.2.wso2v1/modules/samples/src/main/scripts/build.xml

Modified: 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventSource.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventSource.java?rev=24632&r1=24631&r2=24632&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventSource.java
 (original)
+++ 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/EventSource.java
 Sun Nov 23 11:03:24 2008
@@ -113,6 +113,8 @@
             endpoint.send(MessageHelper.cloneMessageContext(rmc));
         } else if 
(EventingConstants.WSE_UNSUBSCRIBE.equals(mc.getWSAAction())) {
             // Unsubscribe for responce
+            Subscription subscription = 
SubscriptionMessageBuilder.createUnSubscribeMessage(smc);
+            subscriptionManager.deleteSubscription(subscription.getId());
         } else if (EventingConstants.WSE_GET_STATUS.equals(mc.getWSAAction())) 
{
             // Get responce status
         } else if (EventingConstants.WSE_RENEW.equals(mc.getWSAAction())) {

Modified: 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/SubscriptionMessageBuilder.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/SubscriptionMessageBuilder.java?rev=24632&r1=24631&r2=24632&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/SubscriptionMessageBuilder.java
 (original)
+++ 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/SubscriptionMessageBuilder.java
 Sun Nov 23 11:03:24 2008
@@ -122,8 +122,11 @@
      * @param mc
      * @return
      */
-    public Subscription createUnSubscribeMessage(MessageContext mc){
+    public static Subscription createUnSubscribeMessage(MessageContext mc){
       Subscription subscription = new Subscription();
+       OMElement elem = 
mc.getEnvelope().getHeader().getFirstChildWithName(IDENTIFIER);
+       String id = (String) elem.getText();
+       subscription.setId(id);
       return subscription;
     }
 }

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=24632&r1=24631&r2=24632&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
    Sun Nov 23 11:03:24 2008
@@ -30,7 +30,6 @@
 import org.apache.axis2.context.ConfigurationContextFactory;
 
 import java.io.File;
-import java.util.Date;
 
 
 public class EventSubscriber {
@@ -62,7 +61,8 @@
         String repo = getProperty("repository", "client_repo");
         String topic = getProperty("topic", "wso2/event/test");
         String address = getProperty("address", 
"http://localhost:9000/soap/SimpleStockQuoteService";);
-
+        String mode = getProperty("mode", "subscribe");
+        String identifier = getProperty("identifier", "90000");
 
         if (repo != null && !"null".equals(repo)) {
             configContext =
@@ -81,39 +81,83 @@
         OMNamespace nswsa = 
factory.createOMNamespace("http://schemas.xmlsoap.org/ws/2004/08/addressing";, 
"wsa");
         OMNamespace nswse = 
factory.createOMNamespace("http://schemas.xmlsoap.org/ws/2004/08/eventing";, 
"wse");
 
+        if (mode.equals("subscribe")) {
+            OMElement subscribeOm = factory.createOMElement("Subscribe", 
nswse);
+            OMElement deliveryOm = factory.createOMElement("Delivery", nswse);
+            deliveryOm.addAttribute(factory.createOMAttribute("Mode", null, 
"http://schemas.xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push";));
+            OMElement notifyToOm = factory.createOMElement("NotifyTo", nswse);
+            OMElement addressOm = factory.createOMElement("Address", nswsa);
+            factory.createOMText(addressOm, address);
+            OMElement expiresOm = factory.createOMElement("Expires", nswse);
+            factory.createOMText(expiresOm, "2008-12-26T21:07:00.000-08:00");
+            OMElement filterOm = factory.createOMElement("Filter", nswse);
+            filterOm.addAttribute(factory.createOMAttribute("Dialect", null, 
"http://synapse.apache.org/eventing/dialect/topicFilter";));
+            factory.createOMText(filterOm, topic);
+
+
+            notifyToOm.addChild(addressOm);
+            deliveryOm.addChild(notifyToOm);
+            subscribeOm.addChild(deliveryOm);
+            subscribeOm.addChild(expiresOm);
+            subscribeOm.addChild(filterOm);
+
+            // set addressing, transport and proxy url
+
+            serviceClient.engageModule("addressing");
+            options.setTo(new EndpointReference(addUrl));
+
+            
options.setAction("http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe";);
+            serviceClient.setOptions(options);
+            System.out.println("Subscribing \n" + subscribeOm.toString());   
+            OMElement response = serviceClient.sendReceive(subscribeOm);
+            System.out.println("Subscribed to topic " + topic);
+            Thread.sleep(1000);
+            System.out.println("Response Received: " + response.toString());
+        } else if (mode.equals("unsubscribe")) {
+            /** Send unsubscribe message
+             (01) <s12:Envelope
+             (02)     xmlns:s12="http://www.w3.org/2003/05/soap-envelope";
+             (03)     
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";
+             (04)     
xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing";
+             (05)     xmlns:ow="http://www.example.org/oceanwatch"; >
+             (06)   <s12:Header>
+             (07)     <wsa:Action>
+             (08)       
http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe
+             (09)     </wsa:Action>
+             (10)     <wsa:MessageID>
+             (11)       uuid:2653f89f-25bc-4c2a-a7c4-620504f6b216
+             (12)     </wsa:MessageID>
+             (13)     <wsa:ReplyTo>
+             (14)      
<wsa:Address>http://www.example.com/MyEventSink</wsa:Address>
+             (15)     </wsa:ReplyTo>
+             (16)     <wsa:To>
+             (17)       http://www.example.org/oceanwatch/SubscriptionManager
+             (18)     </wsa:To>
+             (19)     <wse:Identifier>
+             (20)       uuid:22e8a584-0d18-4228-b2a8-3716fa2097fa
+             (21)     </wse:Identifier>
+             (22)   </s12:Header>
+             (23)   <s12:Body>
+             (24)     <wse:Unsubscribe />
+             (25)   </s12:Body>
+             (26) </s12:Envelope>*/
+            OMElement subscribeOm = factory.createOMElement("Unsubscribe", 
nswse);
+
+            serviceClient.engageModule("addressing");
+            options.setTo(new EndpointReference(addUrl));
+
+            
options.setAction("http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe";);
+            OMElement identifierOm = factory.createOMElement("Identifier", 
nswse);
+            factory.createOMText(identifierOm, identifier);
+            serviceClient.addHeader(identifierOm);
+            serviceClient.setOptions(options);
+            System.out.println("UnSubscribing \n" + subscribeOm.toString());
+            OMElement response = serviceClient.sendReceive(subscribeOm);
+            System.out.println("UnSubscribed to ID " + identifier);
+            Thread.sleep(5000);
+            System.out.println("Un Subscribe Response Received: " + 
response.toString());
 
-        OMElement subscribeOm = factory.createOMElement("Subscribe", nswse);
-        OMElement deliveryOm = factory.createOMElement("Delivery", nswse);
-        deliveryOm.addAttribute(factory.createOMAttribute("Mode", null, 
"http://schemas.xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push";));
-        OMElement notifyToOm = factory.createOMElement("NotifyTo", nswse);
-        OMElement addressOm = factory.createOMElement("Address", nswsa);
-        factory.createOMText(addressOm, address);
-        OMElement expiresOm = factory.createOMElement("Expires", nswse);
-        factory.createOMText(expiresOm, "2008-12-26T21:07:00.000-08:00");
-        OMElement filterOm = factory.createOMElement("Filter", nswse);
-        filterOm.addAttribute(factory.createOMAttribute("Dialect", null, 
"http://synapse.apache.org/eventing/dialect/topicFilter";));
-        factory.createOMText(filterOm, topic);
-
-
-        notifyToOm.addChild(addressOm);
-        deliveryOm.addChild(notifyToOm);
-        subscribeOm.addChild(deliveryOm);
-        subscribeOm.addChild(expiresOm);
-        subscribeOm.addChild(filterOm);
-
-        // set addressing, transport and proxy url
-
-        serviceClient.engageModule("addressing");
-        options.setTo(new EndpointReference(addUrl));
-
-        
options.setAction("http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe";);
-        serviceClient.setOptions(options);
-        System.out.println("Subscribing \n"+subscribeOm.toString());
-        //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) {

Modified: branches/synapse/1.2.wso2v1/modules/samples/src/main/scripts/build.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/samples/src/main/scripts/build.xml?rev=24632&r1=24631&r2=24632&view=diff
==============================================================================
--- branches/synapse/1.2.wso2v1/modules/samples/src/main/scripts/build.xml      
(original)
+++ branches/synapse/1.2.wso2v1/modules/samples/src/main/scripts/build.xml      
Sun Nov 23 11:03:24 2008
@@ -65,7 +65,7 @@
     ant fixclient
         A client which could post a FIX message (of type Order-Single) 
embedded into a SOAP message.
 
-       example:
+           example:
         ant fixclient -Dsymbol=IBM -Dqty=5 -Dmode=buy 
-Daddurl=http://localhost:8280/soap/FIXProxy
     </echo>
     </target>
@@ -95,6 +95,8 @@
     <property name="address" value=""/>
     <property name="action" value=""/>
     <property name="topicns" value=""/>
+    <property name="mode" value=""/>
+    <property name="identifier" value=""/>
 
     <target name="clean">
         <delete dir="target" quiet="true"/>
@@ -173,6 +175,8 @@
             <sysproperty key="topic" value="${topic}"/>
             <sysproperty key="address" value="${address}"/>
             <sysproperty key="repository" value="${repository}"/>
+            <sysproperty key="mode" value="${mode}"/>
+            <sysproperty key="identifier" value="${identifier}"/>
             <sysproperty key="java.io.tmpdir" 
value="./../../work/temp/sampleClient"/>
         </java>
     </target>

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

Reply via email to