[esb-java-dev] svn commit r24632 - in branches/synapse/1.2.wso2v1/modules: core/src/main/java/org/apache/synapse/eventing core/src/main/java/org/apache/synapse/eventing/builders samples/src/main/java/samples/userguide samples/src/main/scripts
asankaa at wso2.com
asankaa at wso2.com
Sun Nov 23 11:03:24 PST 2008
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>
More information about the Esb-java-dev
mailing list