You are viewing a plain text version of this content. The canonical link for it is here.
Posted to savan-dev@ws.apache.org by da...@apache.org on 2009/03/04 03:59:40 UTC

svn commit: r749887 - /webservices/savan/trunk/c/samples/client/subscriber/subscriber.c

Author: damitha
Date: Wed Mar  4 02:59:40 2009
New Revision: 749887

URL: http://svn.apache.org/viewvc?rev=749887&view=rev
Log:
Sending messages like subscribe, renew according to user input

Modified:
    webservices/savan/trunk/c/samples/client/subscriber/subscriber.c

Modified: webservices/savan/trunk/c/samples/client/subscriber/subscriber.c
URL: http://svn.apache.org/viewvc/webservices/savan/trunk/c/samples/client/subscriber/subscriber.c?rev=749887&r1=749886&r2=749887&view=diff
==============================================================================
--- webservices/savan/trunk/c/samples/client/subscriber/subscriber.c (original)
+++ webservices/savan/trunk/c/samples/client/subscriber/subscriber.c Wed Mar  4 02:59:40 2009
@@ -42,6 +42,7 @@
     axis2_status_t status = AXIS2_FAILURE;
     savan_client_t *savan_client = NULL;
     axis2_char_t *subs_status = NULL;
+    int action = 0;
 
     /* Set up the environment */
     env = axutil_env_create_all("subscriber.log", AXIS2_LOG_LEVEL_TRACE);
@@ -60,7 +61,7 @@
     }
     
     printf ("Event source endpoint : %s\n", address);
-    
+   
     /* Create EPR with given address */
     endpoint_ref = axis2_endpoint_ref_create(env, address);
 
@@ -109,63 +110,74 @@
     /* Create a savan client */
     savan_client = savan_client_create(env);
 
-    /* Send request */
-    status  = savan_client_subscribe(savan_client, env, svc_client, savan_options);
-    
-    if (status == AXIS2_SUCCESS)
-    {
-        printf("Subscribe successful\n");
-        printf("Subscription ID: %s\n", savan_client_get_sub_id(savan_client));
-    }
-    else
-    {
-        printf("Subscription Failed\n");
-        exit(0);
+    printf("Select the action:\n"\
+            "1 subscribe\n"\
+            "2 renew\n"\
+            "3 get status\n"\
+            "4 unsubscribe\n"\
+            "5 start weather event source\n"\
+            "6 stop weather event source\n");
+
+    scanf("%d", &action);
+
+    if(1 == action) /* Send subscribe message */
+    {
+        status  = savan_client_subscribe(savan_client, env, svc_client, savan_options);
+        
+        if (status == AXIS2_SUCCESS)
+        {
+            printf("Subscribe successful\n");
+            printf("Subscription ID: %s\n", savan_client_get_sub_id(savan_client));
+        }
+        else
+        {
+            printf("Subscription Failed\n");
+            exit(0);
+        }
+    }
+    else if(2 == action)
+    {
+        printf("Renewing subscription...\n");
+        address = savan_client_get_sub_url(savan_client);
+        printf("address:%s\n", address); 
+        endpoint_ref = axis2_options_get_to(options, env);
+        axis2_endpoint_ref_set_address(endpoint_ref, env, address);
+        /*axutil_hash_set(savan_options, SAVAN_OP_KEY_EXPIRES, AXIS2_HASH_KEY_STRING, "2010-02-12T06:54Z");*/
+        axutil_hash_set(savan_options, SAVAN_OP_KEY_EXPIRES, AXIS2_HASH_KEY_STRING, "2009-04-26T21:07:00.000-08:00");
+        /*axutil_hash_set(savan_options, SAVAN_OP_KEY_EXPIRES, AXIS2_HASH_KEY_STRING, "P3Y6M4DT12H30M5S");*/
+        status = savan_client_renew(savan_client, env, svc_client, savan_options);
+        if (status == AXIS2_SUCCESS)
+        {
+            printf("Renew successful\n");
+        }
+    }
+    else if(3 == action)
+    {
+        printf("Getting status of subscription...\n");
+        address = savan_client_get_sub_url(savan_client);
+        endpoint_ref = axis2_options_get_to(options, env);
+        axis2_endpoint_ref_set_address(endpoint_ref, env, address);
+        axis2_svc_client_remove_all_headers(svc_client, env);
+        subs_status = savan_client_get_status(savan_client, env, svc_client);
+        if (subs_status)
+        {
+            printf("GetStatus successful\n");
+        }
+    }
+    else if(4 == action)
+    {
+        printf("Unsubscribing...\n");
+        address = savan_client_get_sub_url(savan_client);
+        endpoint_ref = axis2_options_get_to(options, env);
+        axis2_endpoint_ref_set_address(endpoint_ref, env, address);
+        axis2_svc_client_remove_all_headers(svc_client, env);
+        status = savan_client_unsubscribe(savan_client, env, svc_client);
+        if (status == AXIS2_SUCCESS)
+        {
+            printf("Unsubscribe successful\n");
+        }
     }
 
-    /*AXIS2_SLEEP(16);*/
-    AXIS2_SLEEP(1);
-
-
-    printf("Renewing subscription...\n");
-    address = savan_client_get_sub_url(savan_client);
-    printf("address:%s\n", address); 
-    endpoint_ref = axis2_options_get_to(options, env);
-    axis2_endpoint_ref_set_address(endpoint_ref, env, address);
-    /*axutil_hash_set(savan_options, SAVAN_OP_KEY_EXPIRES, AXIS2_HASH_KEY_STRING, "2010-02-12T06:54Z");*/
-    axutil_hash_set(savan_options, SAVAN_OP_KEY_EXPIRES, AXIS2_HASH_KEY_STRING, "2009-04-26T21:07:00.000-08:00");
-    /*axutil_hash_set(savan_options, SAVAN_OP_KEY_EXPIRES, AXIS2_HASH_KEY_STRING, "P3Y6M4DT12H30M5S");*/
-    status = savan_client_renew(savan_client, env, svc_client, savan_options);
-    if (status == AXIS2_SUCCESS)
-    {
-        printf("Renew successful\n");
-    }
-
-    AXIS2_SLEEP(1);
-
-    printf("Getting status of subscription...\n");
-    address = savan_client_get_sub_url(savan_client);
-    endpoint_ref = axis2_options_get_to(options, env);
-    axis2_endpoint_ref_set_address(endpoint_ref, env, address);
-    axis2_svc_client_remove_all_headers(svc_client, env);
-    subs_status = savan_client_get_status(savan_client, env, svc_client);
-    if (subs_status)
-    {
-        printf("GetStatus successful\n");
-    }
-
-    printf("Unsubscribing...\n");
-    address = savan_client_get_sub_url(savan_client);
-    endpoint_ref = axis2_options_get_to(options, env);
-    axis2_endpoint_ref_set_address(endpoint_ref, env, address);
-    axis2_svc_client_remove_all_headers(svc_client, env);
-    /*status = savan_client_unsubscribe(savan_client, env, svc_client);
-    if (status == AXIS2_SUCCESS)
-    {
-        printf("Unsubscribe successful\n");
-    }*/
-
-
     if (svc_client)
     {
         axis2_svc_client_free(svc_client, env);
@@ -198,7 +210,7 @@
     options = axis2_options_create(env);
     axis2_options_set_to(options, env, endpoint_ref);
     axis2_options_set_action(options, env,
-        "http://ws.apache.org/axis2/c/savan/samples/pubilsher/start");
+        "http://ws.apache.org/axis2/c/savan/samples/weather/start");
 
     /* Create service client */
     svc_client = axis2_svc_client_create(env, home);