You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by da...@apache.org on 2009/10/30 14:31:20 UTC

svn commit: r831290 [1/2] - in /webservices/sandesha/trunk/c: ./ include/ samples/rm_echo_1_0/ samples/rm_echo_1_1/ samples/rm_echo_single_1_0/ samples/rm_echo_single_1_1/ samples/rm_mtom_1_0/ samples/rm_ping_1_0/ samples/rm_ping_1_1/ src/client/ src/h...

Author: damitha
Date: Fri Oct 30 13:31:18 2009
New Revision: 831290

URL: http://svn.apache.org/viewvc?rev=831290&view=rev
Log:
Making client application side Sandesha2/C specific coding minimal. Improving code base by adding comments, meaningful names etc.

Modified:
    webservices/sandesha/trunk/c/configure.ac
    webservices/sandesha/trunk/c/include/sandesha2_constants.h
    webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h
    webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h
    webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h
    webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h
    webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c
    webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c
    webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h
    webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c
    webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c
    webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h
    webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c
    webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c
    webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h
    webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c
    webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c
    webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c
    webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c
    webservices/sandesha/trunk/c/src/client/client.c
    webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c
    webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/close_seq_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/close_seq_res_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/make_connection_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c
    webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c
    webservices/sandesha/trunk/c/src/storage/sqlite/permanent_bean_mgr.c
    webservices/sandesha/trunk/c/src/storage/sqlite/permanent_create_seq_mgr.c
    webservices/sandesha/trunk/c/src/util/ack_mgr.c
    webservices/sandesha/trunk/c/src/util/fault_mgr.c
    webservices/sandesha/trunk/c/src/util/msg_creator.c
    webservices/sandesha/trunk/c/src/util/msg_init.c
    webservices/sandesha/trunk/c/src/util/seq_mgr.c
    webservices/sandesha/trunk/c/src/util/terminate_mgr.c

Modified: webservices/sandesha/trunk/c/configure.ac
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/configure.ac?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/configure.ac (original)
+++ webservices/sandesha/trunk/c/configure.ac Fri Oct 30 13:31:18 2009
@@ -1,7 +1,7 @@
 dnl run autogen.sh to generate the configure script.
 
 AC_PREREQ(2.59)
-AC_INIT(sandesha2c-src, 0.92)
+AC_INIT(sandesha2c-src, 0.91)
 AC_CANONICAL_SYSTEM
 AM_CONFIG_HEADER(config.h)
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
@@ -21,7 +21,7 @@
 
 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
 if test "$GCC" = "yes"; then
-    CFLAGS="$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration -g"
+    CFLAGS="$CFLAGS -ansi -Wall  -Wno-implicit-function-declaration -g"
 fi
 LDFLAGS="-lpthread"
 
@@ -65,6 +65,7 @@
   AC_MSG_RESULT(no)
 )
 
+
 AXIOMINC="-I$abs_top_builddir/../axis2c/axiom/include"
 UTILINC="-I$abs_top_builddir/../axis2c/util/include"
 NEETHIINC="-I$abs_top_builddir/../axis2c/neethi/include"
@@ -73,17 +74,19 @@
 AC_SUBST(UTILINC)
 AC_SUBST(NEETHIINC)
 
+AC_SUBST(WRAPPER_DIR)
+
 AC_CONFIG_FILES([Makefile \
     src/Makefile \
     src/util/Makefile \
-    src/wsrm/Makefile \
-    src/transport/Makefile \
-    src/handlers/Makefile \
-    src/msgprocessors/Makefile \
-    src/storage/Makefile \
-    src/storage/beans/Makefile \
+    src/wsrm/Makefile\
+    src/transport/Makefile\
+    src/handlers/Makefile\
+    src/msgprocessors/Makefile\
+    src/storage/Makefile\
+    src/storage/beans/Makefile\
     src/storage/common/Makefile \
-    src/storage/sqlite/Makefile \
+    src/storage/sqlite/Makefile\
     src/client/Makefile \
     src/core/Makefile \
     src/polling/Makefile 

Modified: webservices/sandesha/trunk/c/include/sandesha2_constants.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_constants.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_constants.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_constants.h Fri Oct 30 13:31:18 2009
@@ -266,11 +266,11 @@
 	
     #define SANDESHA2_SEQ_PROP_ACKS_TO_REF_PARAM  "acksToRefParam"
 
-	#define SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID  "OutSequenceId"
+	#define SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID  "OutgoingSequenceId"
 
-	#define SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID  "TempSequenceId"
+	#define SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID  "OutgoingInternalSequenceId"
 	
-    #define SANDESHA2_SEQ_PROP_SPECIAL_INTERNAL_SEQ_ID  "SpecialIntSequenceId"
+    #define SANDESHA2_SEQ_PROP_SPECIAL_INTERNAL_SEQUENCE_ID  "SpecialIntSequenceId"
 
 	#define SANDESHA2_SEQ_PROP_REPLY_TO_EPR  "ReplyToEPR"
 
@@ -308,7 +308,7 @@
 		
 	#define SANDESHA2_SEQ_PROP_LAST_MESSAGE  "LastMessage"
 
-	#define SANDESHA2_SEQ_PROP_REQUEST_SIDE_SEQ_ID  "RequestSideSequenceID" 		//used only at the server side
+	#define SANDESHA2_SEQ_PROP_REQUEST_SIDE_SEQUENCE_ID  "RequestSideSequenceID" 		//used only at the server side
 		
 	#define SANDESHA2_SEQ_PROP_HIGHEST_IN_MSG_NUMBER  "HighestInMsgNumber"
 		

Modified: webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h Fri Oct 30 13:31:18 2009
@@ -64,7 +64,7 @@
     const axutil_env_t *env);
 	
 void AXIS2_CALL
-sandesha2_create_seq_bean_set_rms_sequence_id (
+sandesha2_create_seq_bean_set_outgoing_sequence_id (
     sandesha2_create_seq_bean_t *create_seq_bean,
     const axutil_env_t *env, 
     axis2_char_t* seq_id) ;

Modified: webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h Fri Oct 30 13:31:18 2009
@@ -75,6 +75,23 @@
     sandesha2_seq_property_mgr_t *seq_prop_mgr);
  
 /**
+ * Create a new create_close_seq_msg
+ * @param env
+ * @param ref_rm_msg
+ * @param seq_id
+ * @param internal_seq_id
+ * @param seq_prop_mgr
+ * @return
+ */
+sandesha2_msg_ctx_t *AXIS2_CALL
+sandesha2_msg_creator_create_close_seq_msg(
+    const axutil_env_t *env,
+    sandesha2_msg_ctx_t *ref_rm_msg, 
+    axis2_char_t *seq_id,
+    axis2_char_t *internal_seq_id,
+    sandesha2_seq_property_mgr_t *seq_prop_mgr);
+
+/**
  * Create a new close_seq_response message.
  * @param close_seq_msg
  * @param out_msg

Modified: webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h Fri Oct 30 13:31:18 2009
@@ -45,7 +45,7 @@
   */
 
 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-sandesha2_seq_mgr_setup_new_rmd_sequence(
+sandesha2_seq_mgr_setup_new_incoming_sequence(
     const axutil_env_t *env,
     sandesha2_msg_ctx_t *create_seq_msg, 
     struct sandesha2_seq_property_mgr *seq_prop_mgr,
@@ -71,7 +71,7 @@
     /*axis2_conf_ctx_t *conf_ctx*/);
         
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
-sandesha2_seq_mgr_setup_new_rms_sequence(
+sandesha2_seq_mgr_setup_new_outgoing_sequence(
     const axutil_env_t *env,
     axis2_msg_ctx_t *first_app_msg,
     axis2_char_t *int_seq_id,

Modified: webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h Fri Oct 30 13:31:18 2009
@@ -112,6 +112,11 @@
     struct sandesha2_create_seq_mgr *create_seq_mgr,
     struct sandesha2_sender_mgr *sender_mgr);
 
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_terminate_mgr_process_response(
+    const axutil_env_t *env, 
+    axis2_msg_ctx_t *msg_ctx,
+    sandesha2_storage_mgr_t *storage_mgr);
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c Fri Oct 30 13:31:18 2009
@@ -50,10 +50,6 @@
     const axutil_env_t *env,
     axis2_callback_t *callback);
 
-static void 
-usage(
-    axis2_char_t *prog_name);
-
 int main(int argc, char** argv)
 {
     const axutil_env_t *env = NULL;
@@ -68,8 +64,6 @@
     axutil_property_t *property = NULL;
     axutil_string_t *soap_action = NULL;
     axis2_char_t *seq_key = NULL;
-    axis2_char_t *offered_seq_id = NULL;
-    int c;
     int i = 0;
     neethi_policy_t *policy = NULL;
     axis2_status_t status = AXIS2_FAILURE;
@@ -80,33 +74,21 @@
 
     /* Set end point reference of echo service */
     address = "http://127.0.0.1:9090/axis2/services/RM10SampleService";
-    while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+    if (argc > 1)
     {
-
-        switch (c)
+        if (axutil_strcmp(argv[1], "-h") == 0)
         {
-            case 'a':
-                address = optarg;
-                break;
-            case ':':
-                fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
-                usage(argv[0]);
-                return -1;
-            case '?':
-                if (isprint(optopt))
-                    fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
-                usage(argv[0]);
-                return -1;
+            printf("Usage : %s [endpoint_url]\n", argv[0]);
+            printf("use -h for help\n");
+            return 0;
+        }
+        else
+        {
+            address = argv[1];
         }
     }
-    if (axutil_strcmp(address, "-h") == 0)
-    {
-        printf("Usage : %s [endpoint_url] [offer]\n", argv[0]);
-        printf("use -h for help\n");
-        return 0;
-    }
-    printf ("Using endpoint : %s\n", address);
-    
+    printf("Using endpoint : %s\n", address);
+
     /* Create EPR with given address */
     endpoint_ref = axis2_endpoint_ref_create(env, address);
 
@@ -167,17 +149,6 @@
 
     axis2_options_set_soap_version(options, env, AXIOM_SOAP11);
 
-    /* Offer sequence */
-    offered_seq_id = axutil_uuid_gen(env);
-    property = axutil_property_create(env);
-    if(property)
-    {
-        axutil_property_set_value(property, env, axutil_strdup(env, 
-            offered_seq_id));
-        axis2_options_set_property(options, env, 
-            SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
-    }
-
     /* RM Version 1.0 */
     property = axutil_property_create_with_args(env, 3, 0, 0, 
         SANDESHA2_SPEC_VERSION_1_0);
@@ -212,14 +183,10 @@
         axis2_svc_client_send_receive_non_blocking(svc_client, env, payload, callback1);
         wait_on_callback(env, callback1);
     }
-
     axis2_svc_client_remove_all_headers(svc_client, env);
+    /*axis2_options_set_reply_to(options, env, NULL);*/
+    axis2_svc_client_close(svc_client, env);
     
-    axis2_options_set_action(options, env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE);
-    property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
-    axis2_options_set_property(options, env, "Sandesha2LastMessage", property);
-    axis2_svc_client_send_robust(svc_client, env, NULL);
-
     AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
     AXIS2_FREE(env->allocator, seq_key);
     if (svc_client)
@@ -310,16 +277,3 @@
     return;
 }
 
-static void 
-usage(
-    axis2_char_t *prog_name)
-{
-    fprintf(stdout, "\n Usage : %s", prog_name);
-    fprintf(stdout, " [-a ADDRESS]");
-    fprintf(stdout, " Options :\n");
-    fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The" \
-        " default is http://127.0.0.1:9090/axis2/services/RM10SampleService \n");
-    fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-

Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c Fri Oct 30 13:31:18 2009
@@ -20,15 +20,12 @@
 axiom_node_t *
 build_om_payload_for_echo_svc(
    const axutil_env_t *env,
-   axis2_char_t *text,
-   axis2_char_t *seq)
+   axis2_char_t *text)
 {
     axiom_node_t *echo_om_node = NULL;
     axiom_element_t* echo_om_ele = NULL;
     axiom_node_t* text_om_node = NULL;
     axiom_element_t * text_om_ele = NULL;
-    axiom_node_t* seq_om_node = NULL;
-    axiom_element_t * seq_om_ele = NULL;
     axiom_namespace_t *ns1 = NULL;
     axis2_char_t *ns = NULL;
 
@@ -37,9 +34,7 @@
     ns1 = axiom_namespace_create (env, ns, "ns1");
     echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node);
     text_om_ele = axiom_element_create(env, echo_om_node, "Text", ns1, &text_om_node);
-    seq_om_ele = axiom_element_create(env, echo_om_node, "Sequence", ns1, &seq_om_node);
     axiom_element_set_text(text_om_ele, env, text, text_om_node);
-    axiom_element_set_text(text_om_ele, env, seq, seq_om_node);
     
     return echo_om_node;
 }

Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h Fri Oct 30 13:31:18 2009
@@ -23,7 +23,6 @@
 axiom_node_t *
 build_om_payload_for_echo_svc(
    const axutil_env_t *env,
-   axis2_char_t *text,
-   axis2_char_t *seq);
+   axis2_char_t *text);
 
 #endif

Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c Fri Oct 30 13:31:18 2009
@@ -32,7 +32,7 @@
 #include <neethi_util.h>
 #include <neethi_policy.h>
 
-#define SANDESHA2_MAX_COUNT 4
+#define SANDESHA2_MAX_COUNT 8
 
 /* on_complete callback function */
 axis2_status_t AXIS2_CALL
@@ -51,10 +51,6 @@
     const axutil_env_t *env,
     axis2_callback_t *callback);
 
-static void 
-usage(
-    axis2_char_t *prog_name);
-
 int main(int argc, char** argv)
 {
     const axutil_env_t *env = NULL;
@@ -66,52 +62,29 @@
     axis2_svc_client_t* svc_client = NULL;
     axiom_node_t *payload = NULL;
     axis2_callback_t *callback = NULL;
-    axis2_callback_t *callback2 = NULL;
     axutil_property_t *property = NULL;
-    axis2_char_t *offered_seq_id = NULL;
-    axis2_bool_t offer = AXIS2_TRUE;
-    axis2_char_t *seq_key = NULL;
-    int i, c;
     neethi_policy_t *policy = NULL;
     axis2_status_t status = AXIS2_FAILURE;
+    int i = 0;
    
     /* Set up the environment */
     env = axutil_env_create_all("rm_echo_1_1.log", AXIS2_LOG_LEVEL_TRACE);
 
     /* Set end point reference of echo service */
     address = "http://127.0.0.1:9090/axis2/services/RM11SampleService";
-    while ((c = AXIS2_GETOPT(argc, argv, ":a:o:")) != -1)
+    if (argc > 1)
     {
-
-        switch (c)
+        if (axutil_strcmp(argv[1], "-h") == 0)
         {
-            case 'a':
-                address = optarg;
-                break;
-            case 'o': /* Sequence Offer */
-                offer = AXIS2_ATOI(optarg);
-                break;
-            case ':':
-                fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
-                usage(argv[0]);
-                return -1;
-            case '?':
-                if (isprint(optopt))
-                {
-                    fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
-                }
-
-                usage(argv[0]);
-                return -1;
+            printf("Usage : %s [endpoint_url]\n", argv[0]);
+            printf("use -h for help\n");
+            return 0;
         }
-    }
-
-    if (axutil_strcmp(address, "-h") == 0)
-    {
-        printf("Usage : %s [endpoint_url] [offer]\n", argv[0]);
-        printf("use -h for help\n");
-        return 0;
-    }
+        else
+        {
+            address = argv[1];
+        }
+    } 
 
     printf ("Using endpoint : %s\n", address);
     
@@ -178,30 +151,12 @@
     axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING);  
     axis2_svc_client_engage_module(svc_client, env, "sandesha2");
 
-    /* Offer sequence */
-    if(offer)
-    {
-        offered_seq_id = axutil_uuid_gen(env);
-        property = axutil_property_create(env);
-        if(property)
-        {
-            axutil_property_set_value(property, env, axutil_strdup(env, offered_seq_id));
-            axis2_options_set_property(options, env, SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
-        }
-    }
-
     /* RM Version 1.1 */
     property = axutil_property_create_with_args(env, 3, 0, 0, SANDESHA2_SPEC_VERSION_1_1);
     if(property)
     {
         axis2_options_set_property(options, env, SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
     }
-    seq_key = axutil_uuid_gen(env);
-    property = axutil_property_create_with_args(env, 3, 0, 0, seq_key);
-    if(property)
-    {
-        axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, property);
-    }
    
     for(i = 1; i < 4; i++)
     {
@@ -209,7 +164,7 @@
 
         sprintf(echo_str, "%s%d", "echo", i);
 
-        payload = build_om_payload_for_echo_svc(env, echo_str, seq_key);
+        payload = build_om_payload_for_echo_svc(env, echo_str);
         callback = axis2_callback_create(env);
         axis2_callback_set_on_complete(callback, rm_echo_callback_on_complete);
         axis2_callback_set_on_error(callback, rm_echo_callback_on_error);
@@ -217,15 +172,10 @@
         wait_on_callback(env, callback);
     }
 
-    AXIS2_SLEEP(SANDESHA2_MAX_COUNT); 
-    callback2 = axis2_callback_create(env);
-    axis2_callback_set_on_complete(callback2, rm_echo_callback_on_complete);
-    axis2_callback_set_on_error(callback2, rm_echo_callback_on_error);
-    sandesha2_client_terminate_seq_with_svc_client(env, svc_client, callback2);
+    axis2_svc_client_close(svc_client, env);
 
-    AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
+    AXIS2_SLEEP(2 * 2 * SANDESHA2_MAX_COUNT);
 
-    AXIS2_FREE(env->allocator, seq_key);
     if (svc_client)
     {
         axis2_svc_client_free(svc_client, env);
@@ -312,19 +262,4 @@
     return;
 }
 
-static void 
-usage(
-    axis2_char_t *prog_name)
-{
-    fprintf(stdout, "\n Usage : %s", prog_name);
-    fprintf(stdout, " [-a ADDRESS]");
-    fprintf(stdout, " [-o OFFER]");
-    fprintf(stdout, " Options :\n");
-    fprintf(stdout, "\t-o OFFER \t seq offer value.. Type 1 for sequence offer" \
-        "feature. The default behaviour is no offer(0). \n");
-    fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The" \
-        " default is http://127.0.0.1:9090/axis2/services/RM11SampleService \n");
-    fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
 

Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c Fri Oct 30 13:31:18 2009
@@ -20,15 +20,12 @@
 axiom_node_t *
 build_om_payload_for_echo_svc(
    const axutil_env_t *env,
-   axis2_char_t *text,
-   axis2_char_t *seq)
+   axis2_char_t *text)
 {
     axiom_node_t *echo_om_node = NULL;
     axiom_element_t* echo_om_ele = NULL;
     axiom_node_t* text_om_node = NULL;
     axiom_element_t * text_om_ele = NULL;
-    axiom_node_t* seq_om_node = NULL;
-    axiom_element_t * seq_om_ele = NULL;
     axiom_namespace_t *ns1 = NULL;
     axis2_char_t *ns = NULL;
 
@@ -37,9 +34,7 @@
     ns1 = axiom_namespace_create (env, ns, "ns1");
     echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node);
     text_om_ele = axiom_element_create(env, echo_om_node, "Text", NULL, &text_om_node);
-    seq_om_ele = axiom_element_create(env, echo_om_node, "Sequence", NULL, &seq_om_node);
     axiom_element_set_text(text_om_ele, env, text, text_om_node);
-    axiom_element_set_text(seq_om_ele, env, seq, seq_om_node);
     
     return echo_om_node;
 }

Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h Fri Oct 30 13:31:18 2009
@@ -23,7 +23,6 @@
 axiom_node_t *
 build_om_payload_for_echo_svc(
    const axutil_env_t *env,
-   axis2_char_t *text,
-   axis2_char_t *seq);
+   axis2_char_t *text);
 
 #endif

Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c Fri Oct 30 13:31:18 2009
@@ -33,10 +33,6 @@
 
 #define SANDESHA2_MAX_COUNT 2
 
-static void 
-usage(
-    axis2_char_t *prog_name);
-
 int main(int argc, char** argv)
 {
     const axutil_env_t *env = NULL;
@@ -46,13 +42,11 @@
     const axis2_char_t *client_home = NULL;
     axis2_svc_client_t* svc_client = NULL;
     axutil_property_t *property = NULL;
-    axis2_char_t *offered_seq_id = NULL;
     axiom_node_t *result = NULL;
     axutil_string_t *soap_action = NULL;
-    axis2_char_t *seq_key = NULL;
     axis2_status_t status = AXIS2_FAILURE;
     neethi_policy_t *policy = NULL;
-    int c, i;
+    int i;
     axis2_endpoint_ref_t *reply_to = NULL;
    
     /* Set up the environment */
@@ -61,30 +55,18 @@
 
     /* Set end point reference of echo service */
     address = "http://127.0.0.1:9090/axis2/services/RM10SampleService";
-    while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+    if (argc > 1)
     {
-
-        switch (c)
+        if (axutil_strcmp(argv[1], "-h") == 0)
         {
-            case 'a':
-                address = optarg;
-                break;
-            case ':':
-                fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
-                usage(argv[0]);
-                return -1;
-            case '?':
-                if (isprint(optopt))
-                    fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
-                usage(argv[0]);
-                return -1;
+            printf("Usage : %s [endpoint_url]\n", argv[0]);
+            printf("use -h for help\n");
+            return 0;
+        }
+        else
+        {
+            address = argv[1];
         }
-    }
-    if (axutil_strcmp(address, "-h") == 0)
-    {
-        printf("Usage : %s [endpoint_url] [offer]\n", argv[0]);
-        printf("use -h for help\n");
-        return 0;
     }
     printf ("Using endpoint : %s\n", address);
     
@@ -151,16 +133,6 @@
     axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING);  
     axis2_svc_client_engage_module(svc_client, env, "sandesha2");
 
-    /* Offer sequence */
-    offered_seq_id = axutil_uuid_gen(env);
-    property = axutil_property_create(env);
-    if(property)
-    {
-        axutil_property_set_value(property, env, axutil_strdup(env, 
-            offered_seq_id));
-        axis2_options_set_property(options, env, 
-            SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
-    }
     /* RM Version 1.0 */
     property = axutil_property_create_with_args(env, 3, 0, 0, 
         SANDESHA2_SPEC_VERSION_1_0);
@@ -169,13 +141,6 @@
         axis2_options_set_property(options, env, 
             SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
     }
-    seq_key = axutil_uuid_gen(env);
-    property = axutil_property_create_with_args(env, 0, 0, 0, seq_key);
-    if(property)
-    {
-        axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, 
-            property);
-    }
      
     property = axutil_property_create_with_args(env, 0, 0, 0, "12");
     if(property)
@@ -190,19 +155,11 @@
         axis2_char_t echo_str[7];
         
         sprintf(echo_str, "%s%d", "echo", i);
-        payload = build_om_payload_for_echo_svc(env, echo_str, seq_key);
+        payload = build_om_payload_for_echo_svc(env, echo_str);
         result = axis2_svc_client_send_receive(svc_client, env, payload);
         if(result)
         {
-            axis2_char_t *om_str = NULL;
-            om_str = axiom_node_to_string(result, env);
-            if (om_str)
-            {
-                printf("\nReceived OM : %s\n", om_str);
-                AXIS2_FREE(env->allocator, om_str);
-            }
             printf("\necho client two way single channel invoke SUCCESSFUL!\n");
-            result = NULL;
         }
         else
         {
@@ -210,26 +167,9 @@
         }
     }
 
-    axis2_options_set_action(options, env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE);
-    property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
-    axis2_options_set_property(options, env, "Sandesha2LastMessage", property);
-    status = axis2_svc_client_send_robust(svc_client, env, NULL);
-    if(AXIS2_SUCCESS == status)
-    {
-        printf("\necho client two way single channel invoke SUCCESSFUL!\n");
-    }
-    else
-    {
-        printf("\necho client two way single channel invoke FAILED!\n");
-    }
+    axis2_svc_client_close(svc_client, env);
 
     AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
-    AXIS2_FREE(env->allocator, seq_key);
-
-    if(offered_seq_id)
-    {
-        AXIS2_FREE(env->allocator, offered_seq_id);
-    }
 
     if (svc_client)
     {
@@ -246,15 +186,3 @@
     return 0;
 }
 
-static void 
-usage(
-    axis2_char_t *prog_name)
-{
-    fprintf(stdout, "\n Usage : %s", prog_name);
-    fprintf(stdout, " [-a ADDRESS]");
-    fprintf(stdout, " Options :\n");
-    fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The" \
-        " default is http://127.0.0.1:9090/axis2/services/RM10SampleService \n");
-    fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-

Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c Fri Oct 30 13:31:18 2009
@@ -20,15 +20,12 @@
 axiom_node_t *
 build_om_payload_for_echo_svc(
    const axutil_env_t *env,
-   axis2_char_t *text,
-   axis2_char_t *seq)
+   axis2_char_t *text)
 {
     axiom_node_t *echo_om_node = NULL;
     axiom_element_t* echo_om_ele = NULL;
     axiom_node_t* text_om_node = NULL;
     axiom_element_t * text_om_ele = NULL;
-    axiom_node_t* seq_om_node = NULL;
-    axiom_element_t * seq_om_ele = NULL;
     axiom_namespace_t *ns1 = NULL;
     axis2_char_t *ns = NULL;
 
@@ -37,9 +34,7 @@
     ns1 = axiom_namespace_create (env, ns, "ns1");
     echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node);
     text_om_ele = axiom_element_create(env, echo_om_node, "Text", ns1, &text_om_node);
-    seq_om_ele = axiom_element_create(env, echo_om_node, "Sequence", ns1, &seq_om_node);
     axiom_element_set_text(text_om_ele, env, text, text_om_node);
-    axiom_element_set_text(text_om_ele, env, seq, seq_om_node);
     
     return echo_om_node;
 }

Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h Fri Oct 30 13:31:18 2009
@@ -23,7 +23,6 @@
 axiom_node_t *
 build_om_payload_for_echo_svc(
    const axutil_env_t *env,
-   axis2_char_t *text,
-   axis2_char_t *seq);
+   axis2_char_t *text);
 
 #endif

Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c Fri Oct 30 13:31:18 2009
@@ -34,10 +34,6 @@
 
 #define SANDESHA2_SLEEP 4
 
-static void 
-usage(
-    axis2_char_t *prog_name);
-
 int main(int argc, char** argv)
 {
     const axutil_env_t *env = NULL;
@@ -50,9 +46,7 @@
     axiom_node_t *payload = NULL;
     axutil_property_t *property = NULL;
     axis2_listener_manager_t *listener_manager = NULL;
-    axis2_char_t *offered_seq_id = NULL;
-    axis2_char_t *seq_key = NULL;
-    int i, c;
+    int i;
     axis2_status_t status = AXIS2_FAILURE;
     axiom_node_t *result = NULL;
     neethi_policy_t *policy = NULL;
@@ -64,35 +58,19 @@
     /* Set end point reference of echo service */
     /*address = "http://127.0.0.1:9090/axis2/services/RM11SampleService";*/
     address = "http://127.0.0.1:9090/axis2/services/RM11SampleService";
-    while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+    if (argc > 1)
     {
-
-        switch (c)
+        if (axutil_strcmp(argv[1], "-h") == 0)
         {
-            case 'a':
-                address = optarg;
-                break;
-            case ':':
-                fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
-                usage(argv[0]);
-                return -1;
-            case '?':
-                if (isprint(optopt))
-                {
-                    fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
-                }
-                usage(argv[0]);
-                return -1;
+            printf("Usage : %s [endpoint_url]\n", argv[0]);
+            printf("use -h for help\n");
+            return 0;
+        }
+        else
+        {
+            address = argv[1];
         }
     }
-
-    if (axutil_strcmp(address, "-h") == 0)
-    {
-        printf("Usage : %s [endpoint_url] [offer]\n", argv[0]);
-        printf("use -h for help\n");
-        return 0;
-    }
-
     printf ("Using endpoint : %s\n", address);
     
     /* Create EPR with given address */
@@ -161,15 +139,6 @@
         return AXIS2_FAILURE;
     }
 
-    /* Offer sequence */
-    offered_seq_id = axutil_uuid_gen(env);
-    property = axutil_property_create(env);
-    if(property)
-    {
-        axutil_property_set_value(property, env, axutil_strdup(env, offered_seq_id));
-        axis2_options_set_property(options, env, SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
-    }
-
     /* RM Version 1.1 */
     property = axutil_property_create_with_args(env, 3, 0, 0, SANDESHA2_SPEC_VERSION_1_1);
     if(property)
@@ -177,18 +146,11 @@
         axis2_options_set_property(options, env, SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
     }
 
-    seq_key = axutil_uuid_gen(env);
-    property = axutil_property_create_with_args(env, 3, 0, 0, seq_key);
-    if(property)
-    {
-        axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, property);
-    }
-   
     for(i = 1; i < 4; i++)
     {
         axis2_char_t echo_str[7];
         sprintf(echo_str, "%s%d", "echo", i);
-        payload = build_om_payload_for_echo_svc(env, echo_str, seq_key);
+        payload = build_om_payload_for_echo_svc(env, echo_str);
         result = axis2_svc_client_send_receive(svc_client, env, payload);
         if(result)
         {
@@ -210,7 +172,7 @@
 
     AXIS2_SLEEP(SANDESHA2_SLEEP); 
 
-    sandesha2_client_terminate_seq_with_svc_client_and_seq_key(env, svc_client, NULL, seq_key);
+    axis2_svc_client_close(svc_client, env);
 
     AXIS2_SLEEP(6 * SANDESHA2_SLEEP);
 
@@ -223,16 +185,3 @@
     return 0;
 }
 
-static void 
-usage(
-    axis2_char_t *prog_name)
-{
-    fprintf(stdout, "\n Usage : %s", prog_name);
-    fprintf(stdout, " [-a ADDRESS]");
-    fprintf(stdout, " Options :\n");
-    fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The" \
-        " default is http://127.0.0.1:9090/axis2/services/RM11SampleService \n");
-    fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-

Modified: webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c Fri Oct 30 13:31:18 2009
@@ -32,9 +32,6 @@
 #include <neethi_util.h>
 
 #define SANDESHA2_MAX_COUNT 8
-void 
-usage(
-    axis2_char_t *prog_name);
 
 axiom_node_t *build_om_programatically(
     const axutil_env_t * env,
@@ -54,11 +51,8 @@
     axutil_property_t *property = NULL;
     axiom_node_t *result = NULL;
     axutil_string_t *soap_action = NULL;
-    int c;
     const axis2_char_t *image_name = "../resources/axis2.jpg";
-    axis2_char_t *seq_key = NULL;
     axis2_bool_t optimized = AXIS2_TRUE;
-    axis2_char_t *offered_seq_id = NULL;
     neethi_policy_t *policy = NULL;
     axis2_status_t status = AXIS2_FAILURE;  
  
@@ -67,29 +61,18 @@
 
     /* Set end point reference of echo service */
     address = "http://127.0.0.1:9090/axis2/services/RM10SampleService";
-    while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+    if (argc > 1)
     {
-        switch (c)
+        if (axutil_strcmp(argv[1], "-h") == 0)
         {
-            case 'a':
-                address = optarg;
-                break;
-            case ':':
-                fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
-                usage(argv[0]);
-                return -1;
-            case '?':
-                if (isprint(optopt))
-                    fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
-                usage(argv[0]);
-                return -1;
+            printf("Usage : %s [endpoint_url]\n", argv[0]);
+            printf("use -h for help\n");
+            return 0;
+        }
+        else
+        {
+            address = argv[1];
         }
-    }
-    if (axutil_strcmp(address, "-h") == 0)
-    {
-        printf("Usage : %s [endpoint_url]\n", argv[0]);
-        printf("use -h for help\n");
-        return 0;
     }
     printf ("Using endpoint : %s\n", address);
     
@@ -151,27 +134,12 @@
     axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING);  
     axis2_svc_client_engage_module(svc_client, env, "sandesha2");
 
-    /* Offer sequence */
-    offered_seq_id = axutil_uuid_gen(env);
-    property = axutil_property_create(env);
-    if(property)
-    {
-        axutil_property_set_value(property, env, axutil_strdup(env, offered_seq_id));
-        axis2_options_set_property(options, env, SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
-    }
     property = axutil_property_create_with_args(env, 3, 0, 0, SANDESHA2_SPEC_VERSION_1_0);
     if(property)
     {
         axis2_options_set_property(options, env, SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
     }
 
-    seq_key = axutil_uuid_gen(env);
-    property = axutil_property_create_with_args(env, 0, 0, 0, seq_key);
-    if(property)
-    {
-        axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, property);
-    }
-
     property = axutil_property_create_with_args(env, 0, 0, 0, "12");
     if(property)
     {
@@ -182,37 +150,15 @@
     result = axis2_svc_client_send_receive(svc_client, env, payload);
     if(result)
     {
-        axis2_char_t *om_str = NULL;
-        om_str = axiom_node_to_string(result, env);
-        if (om_str)
-        {
-            printf("\nReceived OM : %s\n", om_str);
-        }
-
         printf("\necho client two way single channel invoke SUCCESSFUL!\n");
-
-        AXIS2_FREE(env->allocator, om_str);
-        result = NULL;
     }
     else
     {
         printf("\necho client two way single channel invoke FAILED!\n");
     }
     
-    axis2_options_set_action(options, env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE);
-    property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
-    axis2_options_set_property(options, env, "Sandesha2LastMessage", property);
-    status = axis2_svc_client_send_robust(svc_client, env, NULL);
-    if(AXIS2_SUCCESS == status)
-    {
-        printf("\necho client two way single channel invoke SUCCESSFUL!\n");
-        result = NULL;
-    }
-    else
-    {
-        printf("\necho client two way single channel invoke FAILED!\n");
-    }
-
+    axis2_svc_client_close(svc_client, env);
+    
     AXIS2_SLEEP(SANDESHA2_MAX_COUNT); 
     if (svc_client)
     {
@@ -271,16 +217,3 @@
     return mtom_om_node;
 }
 
-void 
-usage(
-    axis2_char_t *prog_name)
-{
-    fprintf(stdout, "\n Usage : %s", prog_name);
-    fprintf(stdout, " [-o ADDRESS]");
-    fprintf(stdout, " Options :\n");
-    fprintf(stdout, "\t-o ADDRESS \t endpoint address.. The"
-        " default is http://127.0.0.1:9090/axis2/services/RM10SampleService ../\n");
-    fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-

Modified: webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c Fri Oct 30 13:31:18 2009
@@ -30,12 +30,7 @@
 axiom_node_t *
 build_om_programatically(
     const axutil_env_t *env,
-    axis2_char_t *text,
-    axis2_char_t *seq_key);
-
-static void 
-usage(
-    axis2_char_t *prog_name);
+    axis2_char_t *text);
 
 int main(int argc, char** argv)
 {
@@ -48,8 +43,7 @@
     axiom_node_t *payload = NULL;
     axis2_status_t status = AXIS2_FAILURE;
     axutil_property_t *property = NULL;
-    int c;
-    axis2_char_t *seq_key = NULL;
+    int ii;
     neethi_policy_t *policy = NULL;
  
     /* Set up the environment */
@@ -57,26 +51,19 @@
 
     /* Set end point reference of echo service */
     address = "http://127.0.0.1:9090/axis2/services/RM10SampleService";
-    while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+    if (argc > 1)
     {
-
-        switch (c)
+        if (axutil_strcmp(argv[1], "-h") == 0)
+        {
+            printf("Usage : %s [endpoint_url]\n", argv[0]);
+            printf("use -h for help\n");
+            return 0;
+        }
+        else
         {
-            case 'a':
-                address = optarg;
-                break;
-            case ':':
-                fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
-                usage(argv[0]);
-                return -1;
-            case '?':
-                if (isprint(optopt))
-                    fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
-                usage(argv[0]);
-                return -1;
+            address = argv[1];
         }
     }
-
     printf ("Using endpoint : %s\n", address);
     
     /* Create EPR with given address */
@@ -145,47 +132,26 @@
         axis2_options_set_property(options, env, SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
     }
 
-    seq_key = axutil_uuid_gen(env);
-    property = axutil_property_create_with_args(env, 0, 0, 0, seq_key);
-    if(property)
-    {
-        axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, property);
-    }
-    
     /* Send request */
-    payload = build_om_programatically(env, "ping1", seq_key);
-    status = axis2_svc_client_send_robust(svc_client, env, payload);
-    if(status)
-    {
-        printf("\nping client invoke SUCCESSFUL!\n");
-    }
-    payload = NULL;
-    
-    payload = build_om_programatically(env, "ping2", seq_key);
-    status = axis2_svc_client_send_robust(svc_client, env, payload);
-    if(status)
-    {
-        printf("\nping client invoke SUCCESSFUL!\n");
-    }
-    payload = NULL;
-
-    property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
-    axis2_options_set_property(options, env, "Sandesha2LastMessage", property);
-    payload = build_om_programatically(env, "ping3", seq_key);
-    status = axis2_svc_client_send_robust(svc_client, env, payload);
-    if(status)
+    for(ii = 0; ii < 4; ii++)
     {
-        printf("\nping client invoke SUCCESSFUL!\n");
+        axis2_char_t ping_str[7];
+        
+        sprintf(ping_str, "%s%d", "ping", ii);
+        payload = build_om_programatically(env, ping_str);
+        status = axis2_svc_client_send_robust(svc_client, env, payload);
+        if(status)
+        {
+            printf("\nping client invoke SUCCESSFUL!\n");
+        }
+        payload = NULL;
     }
     
-     /** Wait till callback is complete. Simply keep the parent thread running
-       until our on_complete or on_error is invoked */
+    axis2_svc_client_close(svc_client, env);
 
     /*This sleep is for wait the main thread until sandesha sends the terminatesequence 
      *messages. */
-
     AXIS2_SLEEP(SANDESHA2_SLEEP);
-    AXIS2_FREE(env->allocator, seq_key);
    
     if (svc_client)
     {
@@ -206,37 +172,19 @@
 axiom_node_t *
 build_om_programatically(
     const axutil_env_t *env,
-    axis2_char_t *text,
-    axis2_char_t *seq)
+    axis2_char_t *text)
 {
     axiom_node_t *ping_om_node = NULL;
     axiom_element_t* ping_om_ele = NULL;
     axiom_node_t *text_om_node = NULL;
     axiom_element_t* text_om_ele = NULL;
     axiom_namespace_t *ns1 = NULL;
-    axiom_node_t* seq_om_node = NULL;
-    axiom_element_t * seq_om_ele = NULL;
 
     ns1 = axiom_namespace_create (env, "http://tempuri.org/", "ns1");
     ping_om_ele = axiom_element_create(env, NULL, "ping", ns1, &ping_om_node);
     text_om_ele = axiom_element_create(env, ping_om_node, "Text", ns1, &text_om_node);
-    seq_om_ele = axiom_element_create(env, ping_om_node, "Sequence", ns1, &seq_om_node);
     axiom_element_set_text(text_om_ele, env, text, text_om_node);
-    axiom_element_set_text(text_om_ele, env, seq, seq_om_node);
     
     return ping_om_node;
 }
 
-static void 
-usage(
-    axis2_char_t *prog_name)
-{
-    fprintf(stdout, "\n Usage : %s", prog_name);
-    fprintf(stdout, " [-a ADDRESS]");
-    fprintf(stdout, " Options :\n");
-    fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The"
-            " default is http://127.0.0.1:9090/axis2/services/RM10SampleService ../\n");
-    fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-

Modified: webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c Fri Oct 30 13:31:18 2009
@@ -31,25 +31,18 @@
 axiom_node_t *
 build_om_programatically(
     const axutil_env_t *env,
-    axis2_char_t *text,
-    const axis2_char_t *seq);
-
-static void 
-usage(
-    axis2_char_t *prog_name);
+    axis2_char_t *text);
 
 int main(int argc, char** argv)
 {
     const axutil_env_t *env = NULL;
     const axis2_char_t *address = NULL;
-    const axis2_char_t *seq_key = NULL;
     axis2_endpoint_ref_t* endpoint_ref = NULL;
     axis2_options_t *options = NULL;
     const axis2_char_t *client_home = NULL;
     axis2_svc_client_t* svc_client = NULL;
     axiom_node_t *payload = NULL;
     axutil_property_t *property = NULL;
-    int c;
     int i = 0;
     neethi_policy_t *policy = NULL;
     axis2_status_t status = AXIS2_FAILURE;
@@ -59,29 +52,19 @@
 
     /* Set end point reference of echo service */
     address = "http://127.0.0.1:9090/axis2/services/RM11SampleService";
-    while ((c = AXIS2_GETOPT(argc, argv, ":a:k:")) != -1)
+    if (argc > 1)
     {
-
-        switch (c)
+        if (axutil_strcmp(argv[1], "-h") == 0)
         {
-            case 'a':
-                address = optarg;
-                break;
-            case 'k': /* Sequenc Key */
-                seq_key = optarg;
-                break;
-            case ':':
-                fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
-                usage(argv[0]);
-                return -1;
-            case '?':
-                if (isprint(optopt))
-                    fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
-                usage(argv[0]);
-                return -1;
+            printf("Usage : %s [endpoint_url]\n", argv[0]);
+            printf("use -h for help\n");
+            return 0;
+        }
+        else
+        {
+            address = argv[1];
         }
     }
-
     printf ("Using endpoint : %s\n", address);
     
     /* Create EPR with given address */
@@ -148,15 +131,6 @@
         axis2_options_set_property(options, env, 
             SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
     }
-    if(seq_key)
-    {
-        property = axutil_property_create_with_args(env, 3, 0, 0, (void*)seq_key);
-        if(property)
-        {
-            axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, 
-                property);
-        }
-    }
 
     for(i = 1; i < 4; i++)
     {
@@ -165,7 +139,7 @@
         sprintf(echo_str, "%s%d", "echo", i);
 
         /* Send request */
-        payload = build_om_programatically(env, echo_str, seq_key);
+        payload = build_om_programatically(env, echo_str);
         status = axis2_svc_client_send_robust(svc_client, env, payload);
         if(status)
         {
@@ -180,9 +154,7 @@
 
     AXIS2_SLEEP(MAX_COUNT);
     
-    sandesha2_client_terminate_seq_with_svc_client(env, svc_client, NULL);
-     /** Wait till callback is complete. Simply keep the parent thread running
-       until our on_complete or on_error is invoked */
+    axis2_svc_client_close(svc_client, env);
 
     AXIS2_SLEEP(MAX_COUNT);
    
@@ -198,41 +170,19 @@
 axiom_node_t *
 build_om_programatically(
     const axutil_env_t *env,
-    axis2_char_t *text,
-    const axis2_char_t *seq_key)
+    axis2_char_t *text)
 {
     axiom_node_t *ping_om_node = NULL;
     axiom_element_t* ping_om_ele = NULL;
     axiom_node_t *text_om_node = NULL;
     axiom_element_t* text_om_ele = NULL;
-    axiom_node_t* seq_om_node = NULL;
-    axiom_element_t * seq_om_ele = NULL;
     axiom_namespace_t *ns1 = NULL;
     
     ns1 = axiom_namespace_create (env, "http://tempuri.org/", "ns1");
     ping_om_ele = axiom_element_create(env, NULL, "ping", ns1, &ping_om_node);
     text_om_ele = axiom_element_create(env, ping_om_node, "Text", ns1, &text_om_node);
-    if(seq_key)
-        seq_om_ele = axiom_element_create(env, ping_om_node, "Sequence", ns1, &seq_om_node);
     axiom_element_set_text(text_om_ele, env, text, text_om_node);
-    if(seq_key)
-        axiom_element_set_text(text_om_ele, env, seq_key, seq_om_node);
     
     return ping_om_node;
 }
 
-static void 
-usage(
-    axis2_char_t *prog_name)
-{
-    fprintf(stdout, "\n Usage : %s", prog_name);
-    fprintf(stdout, " [-a ADDRESS]");
-    fprintf(stdout, " [-k PROVIDE SEQUENCE KEY]");
-    fprintf(stdout, " Options :\n");
-    fprintf(stdout, "\t-k PROVIDE SEQUENCE KEY \t provide the sequence key as string \n");
-    fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The"
-            " default is http://127.0.0.1:5555/axis2/services/RM11SampleService ../\n");
-    fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-

Modified: webservices/sandesha/trunk/c/src/client/client.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/client/client.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/client/client.c (original)
+++ webservices/sandesha/trunk/c/src/client/client.c Fri Oct 30 13:31:18 2009
@@ -426,7 +426,7 @@
     ctx = axis2_conf_ctx_get_base(conf_ctx, env);
     if(internal_seq_find_bean) 
         sandesha2_seq_property_bean_set_name(internal_seq_find_bean, env, 
-            SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
+            SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID);
     if (seq_prop_mgr)
     {
         collection = sandesha2_seq_property_mgr_find(seq_prop_mgr, env, 
@@ -1107,7 +1107,7 @@
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     seq_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-            internal_seq_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+            internal_seq_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
     if(!seq_id_bean)
     {
         AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SEQ_ID_BEAN_NOT_SET, 
@@ -1364,7 +1364,7 @@
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     seq_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_seq_id, 
-            SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+            SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
 
     if(!seq_id_bean)
     {
@@ -1508,7 +1508,7 @@
     sandesha2_seq_property_bean_set_value(internal_seq_find_bean, env, 
             internal_seq_id);
     sandesha2_seq_property_bean_set_name(internal_seq_find_bean, env, 
-           SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
+           SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID);
     internal_seq_bean = sandesha2_seq_property_mgr_find_unique(seq_prop_mgr, 
             env, internal_seq_find_bean);
     if(!internal_seq_bean)
@@ -1553,7 +1553,7 @@
     sandesha2_seq_property_bean_set_value(internal_seq_find_bean, env, 
             internal_seq_id);
     sandesha2_seq_property_bean_set_name(internal_seq_find_bean, env, 
-           SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
+           SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID);
     internal_seq_bean = sandesha2_seq_property_mgr_find_unique(seq_prop_mgr, 
             env, internal_seq_find_bean);
     if(!internal_seq_bean)
@@ -1595,7 +1595,7 @@
     sandesha2_seq_property_bean_set_value(internal_seq_find_bean, env, 
             internal_seq_id);
     sandesha2_seq_property_bean_set_name(internal_seq_find_bean, env, 
-           SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
+           SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID);
     internal_seq_bean = sandesha2_seq_property_mgr_find_unique(seq_prop_mgr, 
             env, internal_seq_find_bean);
     if(!internal_seq_bean)
@@ -1818,7 +1818,7 @@
         if(seq_prop_mgr)
         {
             seq_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_seq_id, 
-                    SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+                    SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
         }
 
         if(!seq_id_bean)

Modified: webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c (original)
+++ webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c Fri Oct 30 13:31:18 2009
@@ -33,6 +33,7 @@
 #include <sandesha2_sender_mgr.h>
 #include <platforms/axutil_platform_auto_sense.h>
 #include <axis2_rm_assertion.h>
+#include <sandesha2_spec_specific_consts.h>
 #include <sandesha2_property_mgr.h>
 
 axis2_status_t AXIS2_CALL
@@ -166,6 +167,53 @@
         dummy_msg = AXIS2_TRUE;
     }
 
+    temp_prop = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_SVC_CLIENT_CLOSED);
+    if(temp_prop)
+    {
+        axis2_char_t *spec_version = NULL;
+        axutil_property_t *property = NULL;
+
+        axis2_endpoint_ref_t *reply_to = axis2_msg_ctx_get_reply_to(msg_ctx, env);
+        if(reply_to)
+        {
+            axis2_char_t *address = axis2_endpoint_ref_get_address(reply_to, env);
+            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "dam_reply_to_address:%s", address);
+        }
+        property = axis2_msg_ctx_get_property(msg_ctx, env, SANDESHA2_CLIENT_RM_SPEC_VERSION);
+        if(property)
+        {
+            spec_version = axutil_property_get_value(property, env);
+        }
+
+        if(!axutil_strcmp(SANDESHA2_SPEC_VERSION_1_1, spec_version))
+        {
+            axis2_char_t *action = NULL;
+            axutil_string_t *str_action = NULL;
+
+            action = sandesha2_spec_specific_consts_get_terminate_seq_action(env, spec_version);
+            str_action = axutil_string_create(env, action);
+            axis2_msg_ctx_set_soap_action(msg_ctx, env, str_action);
+            axutil_string_free(str_action, env);
+            /*axis2_msg_ctx_set_reply_to(msg_ctx, env, NULL);*/
+            msg_type = sandesha2_msg_ctx_set_msg_type(rm_msg_ctx, env, 
+                SANDESHA2_MSG_TYPE_CLOSE_SEQ);
+        }
+        else if(!axutil_strcmp(SANDESHA2_SPEC_VERSION_1_0, spec_version))
+        {
+            axutil_property_t *property = NULL;
+            axutil_string_t *str_action = NULL;
+            
+            /*axis2_msg_info_headers_set_action(axis2_msg_ctx_get_msg_info_headers(msg_ctx, env), 
+             * env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE); */
+            str_action = axutil_string_create(env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE);
+            axis2_msg_ctx_set_soap_action(msg_ctx, env, str_action);
+            axutil_string_free(str_action, env);
+            property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
+            axis2_msg_ctx_set_property(msg_ctx, env, "Sandesha2LastMessage", property);
+            /*axis2_msg_ctx_set_reply_to(msg_ctx, env, NULL);*/
+        }
+    }
+
     msg_type = sandesha2_msg_ctx_get_msg_type(rm_msg_ctx, env);
     if(msg_type == SANDESHA2_MSG_TYPE_UNKNOWN)
     {

Modified: webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c Fri Oct 30 13:31:18 2009
@@ -153,8 +153,8 @@
     sandesha2_sender_mgr_t *sender_mgr = NULL;
     axutil_array_list_t *ack_range_list = NULL;
     axutil_array_list_t *nack_list = NULL;
-    axis2_char_t *rms_sequence_id = NULL;
-    axis2_char_t *internal_sequence_id = NULL;
+    axis2_char_t *outgoing_sequence_id = NULL;
+    axis2_char_t *outgoing_internal_sequence_id = NULL;
     /*axutil_property_t *property = NULL;*/
     sandesha2_sender_bean_t *input_bean = NULL;
     axutil_array_list_t *retrans_list = NULL;
@@ -202,10 +202,10 @@
     
     ack_range_list = sandesha2_seq_ack_get_ack_range_list(seq_ack, env);
     nack_list = sandesha2_seq_ack_get_nack_list(seq_ack, env);
-    rms_sequence_id = sandesha2_identifier_get_identifier(sandesha2_seq_ack_get_identifier(seq_ack, env), 
-            env);
+    outgoing_sequence_id = sandesha2_identifier_get_identifier(sandesha2_seq_ack_get_identifier(
+                seq_ack, env), env);
 
-    if(!rms_sequence_id || 0 == axutil_strlen(rms_sequence_id))
+    if(!outgoing_sequence_id || 0 == axutil_strlen(outgoing_sequence_id))
     {
         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] OutSequenceId is null");
         AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_SEQ, AXIS2_FAILURE);
@@ -233,11 +233,11 @@
         return AXIS2_FAILURE;        
     }
 
-    internal_sequence_id = sandesha2_utils_get_seq_property(env, rms_sequence_id, 
-            SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID, seq_prop_mgr);
+    outgoing_internal_sequence_id = sandesha2_utils_get_seq_property(env, outgoing_sequence_id, 
+            SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID, seq_prop_mgr);
 
-    /*fault_msg_ctx = sandesha2_fault_mgr_check_for_unknown_seq(env, rm_msg_ctx, rms_sequence_id, 
-            seq_prop_mgr, create_seq_mgr, next_msg_mgr);*/
+    /*fault_msg_ctx = sandesha2_fault_mgr_check_for_unknown_seq(env, rm_msg_ctx, 
+     * outgoing_sequence_id, seq_prop_mgr, create_seq_mgr, next_msg_mgr);*/
 
     if(fault_msg_ctx)
     {
@@ -275,13 +275,14 @@
             axis2_engine_free(engine, env);
         }
     }
-    if(internal_sequence_id)
+    if(outgoing_internal_sequence_id)
     {
-        sandesha2_seq_mgr_update_last_activated_time(env, internal_sequence_id, seq_prop_mgr);
+        sandesha2_seq_mgr_update_last_activated_time(env, outgoing_internal_sequence_id, 
+                seq_prop_mgr);
     }
 
-    terminated_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_sequence_id, 
-            SANDESHA2_SEQ_PROP_TERMINATE_ADDED);
+    terminated_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
+            outgoing_internal_sequence_id, SANDESHA2_SEQ_PROP_TERMINATE_ADDED);
     if(terminated_bean)
     {
         axis2_char_t *value = sandesha2_seq_property_bean_get_value(terminated_bean, env);
@@ -315,9 +316,9 @@
             sandesha2_storage_mgr_free(storage_mgr, env);
         }
         
-        if(internal_sequence_id)
+        if(outgoing_internal_sequence_id)
         {
-            AXIS2_FREE(env->allocator, internal_sequence_id);
+            AXIS2_FREE(env->allocator, outgoing_internal_sequence_id);
         }
 
         return AXIS2_SUCCESS;
@@ -327,7 +328,7 @@
     axis2_msg_ctx_set_property(msg_ctx, env, SANDESHA2_ACK_PROCSSED, property);*/
                         
     input_bean = sandesha2_sender_bean_create(env);
-    sandesha2_sender_bean_set_internal_seq_id(input_bean, env, internal_sequence_id);
+    sandesha2_sender_bean_set_internal_seq_id(input_bean, env, outgoing_internal_sequence_id);
     sandesha2_sender_bean_set_send(input_bean, env, AXIS2_TRUE);
     sandesha2_sender_bean_set_resend(input_bean, env, AXIS2_TRUE);
     sandesha2_sender_bean_set_msg_type(input_bean, env, SANDESHA2_MSG_TYPE_APPLICATION);
@@ -356,9 +357,9 @@
             axutil_array_list_free(retrans_list, env);
         }
 
-        if(internal_sequence_id)
+        if(outgoing_internal_sequence_id)
         {
-            AXIS2_FREE(env->allocator, internal_sequence_id);
+            AXIS2_FREE(env->allocator, outgoing_internal_sequence_id);
         }
 
         if(seq_prop_mgr)
@@ -457,7 +458,7 @@
     }
 
     no_of_msgs_acked = sandesha2_ack_msg_processor_get_no_of_msgs_acked(env, ack_range_list);
-    no_of_msgs_acked_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rms_sequence_id, 
+    no_of_msgs_acked_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, outgoing_sequence_id, 
             SANDESHA2_SEQ_PROP_NO_OF_OUTGOING_MSGS_ACKED);
 
     sprintf(str_long, "%ld", no_of_msgs_acked);
@@ -467,7 +468,7 @@
         no_of_msgs_acked_bean = sandesha2_seq_property_bean_create(env);
         sandesha2_seq_property_bean_set_name(no_of_msgs_acked_bean, env,
             SANDESHA2_SEQ_PROP_NO_OF_OUTGOING_MSGS_ACKED);
-        sandesha2_seq_property_bean_set_seq_id(no_of_msgs_acked_bean, env, rms_sequence_id);
+        sandesha2_seq_property_bean_set_seq_id(no_of_msgs_acked_bean, env, outgoing_sequence_id);
     }
     sandesha2_seq_property_bean_set_value(no_of_msgs_acked_bean, env, str_long);
     if(added)
@@ -483,13 +484,13 @@
         sandesha2_seq_property_bean_free(no_of_msgs_acked_bean, env);
     }
 
-    completed_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rms_sequence_id, 
+    completed_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, outgoing_sequence_id, 
             SANDESHA2_SEQ_PROP_CLIENT_COMPLETED_MESSAGES);
 
-    if(!completed_bean && internal_sequence_id)
+    if(!completed_bean && outgoing_internal_sequence_id)
     {
         completed_bean = sandesha2_seq_property_bean_create(env);
-        sandesha2_seq_property_bean_set_seq_id(completed_bean, env, internal_sequence_id);
+        sandesha2_seq_property_bean_set_seq_id(completed_bean, env, outgoing_internal_sequence_id);
 
         sandesha2_seq_property_bean_set_name(completed_bean, env, 
             SANDESHA2_SEQ_PROP_CLIENT_COMPLETED_MESSAGES);
@@ -528,7 +529,7 @@
         sandesha2_seq_property_bean_free(completed_bean, env);
     }
 
-    last_out_msg_no_str = sandesha2_utils_get_seq_property(env, internal_sequence_id,
+    last_out_msg_no_str = sandesha2_utils_get_seq_property(env, outgoing_internal_sequence_id,
         SANDESHA2_SEQ_PROP_LAST_OUT_MESSAGE_NO, seq_prop_mgr);
 
     if(last_out_msg_no_str)
@@ -561,16 +562,18 @@
             /*if(completed && sandesha2_utils_is_anon_uri(env, to_address))*/
             {
                 AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-                        "[sandesha2]Sequence %s is completed. So adding terminate msg", rms_sequence_id); 
-                sandesha2_terminate_mgr_send_terminate_seq_msg(env, rm_msg_ctx, rms_sequence_id, 
-                        internal_sequence_id, storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
+                        "[sandesha2]Sequence %s is completed. So adding terminate msg", 
+                        outgoing_sequence_id); 
+                sandesha2_terminate_mgr_send_terminate_seq_msg(env, rm_msg_ctx, 
+                        outgoing_sequence_id, outgoing_internal_sequence_id, storage_mgr, 
+                        seq_prop_mgr, create_seq_mgr, sender_mgr);
             }
         }
     }
 
-    if(internal_sequence_id)
+    if(outgoing_internal_sequence_id)
     {
-        AXIS2_FREE(env->allocator, internal_sequence_id);
+        AXIS2_FREE(env->allocator, outgoing_internal_sequence_id);
     }
 
     soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env);

Modified: webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Fri Oct 30 13:31:18 2009
@@ -1512,7 +1512,7 @@
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Spec version:%s", spec_ver);
     
     rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-            internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+            internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
 
     if(1 == msg_number)
     {
@@ -1525,7 +1525,7 @@
                 "Starting the rms sequence with rms rms internal sequence id %s", 
                 internal_sequence_id);
 
-        sandesha2_seq_mgr_setup_new_rms_sequence(env, msg_ctx, internal_sequence_id, spec_ver, 
+        sandesha2_seq_mgr_setup_new_outgoing_sequence(env, msg_ctx, internal_sequence_id, spec_ver, 
                 seq_prop_mgr);
     }
 
@@ -1798,7 +1798,7 @@
     const axutil_env_t *env,
     sandesha2_msg_ctx_t *rm_msg_ctx,
     axis2_char_t *msg_str,
-    axis2_char_t *rmd_sequence_id,
+    axis2_char_t *incoming_sequence_id,
     sandesha2_storage_mgr_t *storage_mgr,
     sandesha2_sender_mgr_t *sender_mgr,
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
@@ -1817,8 +1817,6 @@
     axis2_char_t *key = NULL;
     axutil_property_t *property = NULL;
     sandesha2_sender_bean_t *ack_bean = NULL;
-    sandesha2_seq_property_bean_t *rms_internal_sequence_bean = NULL;
-    axis2_char_t *internal_sequence_id = NULL;
     axis2_bool_t sent = AXIS2_TRUE;
     axis2_op_ctx_t *op_ctx = NULL;
     axis2_op_t *op = NULL;
@@ -1834,7 +1832,7 @@
 
     msg_ctx = sandesha2_msg_ctx_get_msg_ctx(rm_msg_ctx, env);
 
-    acks_to_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rmd_sequence_id,
+    acks_to_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, incoming_sequence_id,
         SANDESHA2_SEQ_PROP_ACKS_TO_EPR);
     if(acks_to_bean)
     {
@@ -1863,11 +1861,11 @@
     one_way = AXIS2_MEP_CONSTANT_IN_ONLY == mep;
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "MEP:%d", mep);
 
-    rm_version = sandesha2_utils_get_rm_version(env, rmd_sequence_id, seq_prop_mgr);
+    rm_version = sandesha2_utils_get_rm_version(env, incoming_sequence_id, seq_prop_mgr);
     if(!rm_version)
     {
         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
-            "[sandesha2]Unable to find RM spec version for seq_id %s", rmd_sequence_id);
+            "[sandesha2]Unable to find RM spec version for seq_id %s", incoming_sequence_id);
         if(acks_to_str)
         {
             AXIS2_FREE(env->allocator, acks_to_str);
@@ -1925,7 +1923,8 @@
         sandesha2_msg_ctx_add_soap_envelope(rm_msg_ctx, env);
     }
 
-    ack_rm_msg_ctx = sandesha2_ack_mgr_generate_ack_msg(env, rm_msg_ctx, rmd_sequence_id, seq_prop_mgr);
+    ack_rm_msg_ctx = sandesha2_ack_mgr_generate_ack_msg(env, rm_msg_ctx, incoming_sequence_id, 
+            seq_prop_mgr);
     ack_msg_ctx = sandesha2_msg_ctx_get_msg_ctx(ack_rm_msg_ctx, env);
 
     /* If it is not one way message we piggyback the acknowledgment messages on the application messages
@@ -1936,17 +1935,9 @@
     {
         axis2_relates_to_t *relates_to = NULL;
         const axis2_char_t *related_msg_id = NULL;
-        axis2_char_t *outgoing_seq_id = NULL;
+        axis2_char_t *outgoing_sequence_id = NULL;
         sandesha2_seq_property_bean_t *relates_to_bean = NULL;
-        sandesha2_seq_property_bean_t *outgoing_seq_id_bean = NULL;
-
-        rms_internal_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-                rmd_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
-      
-        if(rms_internal_sequence_bean)
-        {
-            internal_sequence_id = sandesha2_seq_property_bean_get_value(rms_internal_sequence_bean, env);
-        }
+        sandesha2_seq_property_bean_t *outgoing_sequence_id_bean = NULL;
 
         key = axutil_uuid_gen(env);
         ack_bean = sandesha2_sender_bean_create(env);
@@ -1967,29 +1958,31 @@
                     related_msg_id, SANDESHA2_SEQ_PROP_RELATED_MSG_ID);
             if(relates_to_bean)
             {
+                outgoing_sequence_id = sandesha2_seq_property_bean_get_value(relates_to_bean, env);
 
-                outgoing_seq_id = sandesha2_seq_property_bean_get_value(relates_to_bean, env);
-
-                AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "outgoing_seq_id:%s", outgoing_seq_id);
-                sandesha2_sender_bean_set_seq_id(ack_bean, env, outgoing_seq_id);
-                sandesha2_seq_property_mgr_remove(seq_prop_mgr, env, (axis2_char_t *) related_msg_id, 
-                        SANDESHA2_SEQ_PROP_RELATED_MSG_ID);
+                AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "outgoing_sequence_id:%s", outgoing_sequence_id);
+                sandesha2_sender_bean_set_seq_id(ack_bean, env, outgoing_sequence_id);
+                sandesha2_seq_property_mgr_remove(seq_prop_mgr, env, 
+                        (axis2_char_t *) related_msg_id, SANDESHA2_SEQ_PROP_RELATED_MSG_ID);
             }
         }
 
-        if(!outgoing_seq_id)
+        if(!outgoing_sequence_id)
         {
-            axis2_char_t *outgoing_internal_seq_id = NULL;
-            axis2_char_t *outgoing_seq_id = NULL;
+            axis2_char_t *outgoing_internal_sequence_id = NULL;
+            axis2_char_t *outgoing_sequence_id = NULL;
 
-            outgoing_internal_seq_id = sandesha2_utils_get_internal_sequence_id(env, rmd_sequence_id);
-            outgoing_seq_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
-                    outgoing_internal_seq_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
-            if(outgoing_seq_id_bean)
+            outgoing_internal_sequence_id = sandesha2_utils_get_internal_sequence_id(env, 
+                    incoming_sequence_id);
+            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "outgoing_internal_sequence_id:%s", 
+                    outgoing_internal_sequence_id);
+            outgoing_sequence_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
+                    outgoing_internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
+            if(outgoing_sequence_id_bean)
             {
-                outgoing_seq_id = sandesha2_seq_property_bean_get_value(outgoing_seq_id_bean, env);
-                AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "outgoing_seq_id:%s", outgoing_seq_id);
-                sandesha2_sender_bean_set_seq_id(ack_bean, env, outgoing_seq_id);
+                outgoing_sequence_id = sandesha2_seq_property_bean_get_value(
+                        outgoing_sequence_id_bean, env);
+                sandesha2_sender_bean_set_seq_id(ack_bean, env, outgoing_sequence_id);
             }
         }
 
@@ -2001,8 +1994,6 @@
         sandesha2_sender_bean_set_time_to_send(ack_bean, env, send_time);
         sandesha2_sender_bean_set_msg_id(ack_bean, env, sandesha2_msg_ctx_get_msg_id(ack_rm_msg_ctx, env));
         sandesha2_sender_bean_set_send(ack_bean, env, AXIS2_TRUE);
-        sandesha2_sender_bean_set_internal_seq_id(ack_bean, env, internal_sequence_id);
-        /*sandesha2_sender_bean_set_seq_id(ack_bean, env, rmd_sequence_id);*/
         sandesha2_sender_bean_set_msg_type(ack_bean, env, SANDESHA2_MSG_TYPE_ACK);
         sandesha2_sender_bean_set_resend(ack_bean, env, AXIS2_FALSE);
         sandesha2_sender_mgr_insert(sender_mgr, env, ack_bean);
@@ -2012,14 +2003,9 @@
             sandesha2_seq_property_bean_free(relates_to_bean, env);
         }
         
-        if(outgoing_seq_id_bean)
-        {
-            sandesha2_seq_property_bean_free(outgoing_seq_id_bean, env);
-        }
-
-        if(rms_internal_sequence_bean)
+        if(outgoing_sequence_id_bean)
         {
-            sandesha2_seq_property_bean_free(rms_internal_sequence_bean, env);
+            sandesha2_seq_property_bean_free(outgoing_sequence_id_bean, env);
         }
 
         if(ack_bean)
@@ -2406,7 +2392,7 @@
         }
 
         rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_sequence_id, 
-            SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+            SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
 
         while(!rms_sequence_bean)
         {
@@ -2448,7 +2434,7 @@
             }
 
             rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_sequence_id, 
-                SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+                SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
         }
 
         if(rms_sequence_bean)
@@ -2503,7 +2489,7 @@
         AXIS2_FREE(env->allocator, create_sequence_msg_store_key);
 
         /*rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-                internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);*/
+                internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);*/
 
         /* In dual channel create sequence message is sent in a separate thread. This thread will
          * run until create sequence response message is received or timeout or re-sends
@@ -2862,6 +2848,7 @@
     AXIS2_PARAM_CHECK(env->error, sender_mgr, AXIS2_FAILURE);
  
     app_msg_ctx = sandesha2_msg_ctx_get_msg_ctx(rm_msg_ctx, env);
+    is_svr_side = axis2_msg_ctx_get_server_side(app_msg_ctx, env);
     conf_ctx = axis2_msg_ctx_get_conf_ctx(app_msg_ctx, env);
 
     svc = axis2_msg_ctx_get_svc(app_msg_ctx, env);
@@ -2906,14 +2893,14 @@
     reply_to_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_sequence_id, 
             SANDESHA2_SEQ_PROP_REPLY_TO_EPR);
     
-    if (to_bean)
+    if (to_bean && is_svr_side)
     {
         to_addr = axutil_strdup(env, sandesha2_seq_property_bean_get_value(to_bean, env));
         to_epr = axis2_endpoint_ref_create(env, to_addr);
         sandesha2_seq_property_bean_free(to_bean, env);
     }
     
-    if(reply_to_bean)
+    if(reply_to_bean && is_svr_side)
     {
         reply_to_addr = axutil_strdup(env, sandesha2_seq_property_bean_get_value(reply_to_bean, env));
         reply_to_epr = axis2_endpoint_ref_create(env, reply_to_addr);
@@ -3109,7 +3096,6 @@
 
     sandesha2_sender_mgr_insert(sender_mgr, env, app_msg_sender_bean);
 
-    is_svr_side = axis2_msg_ctx_get_server_side(app_msg_ctx, env);
 
     /* 
      * If server side and anonymous acknowledgment. In other words this is replay mode.
@@ -3125,12 +3111,12 @@
         sandesha2_identifier_t *identifier = NULL;
 
         rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-                internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+                internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
 
         while(!rms_sequence_bean)
         {
             rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-                    internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+                    internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
             AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
                     "[sandesha2] Create sequence response has not yet arrived. So sleep");
             AXIS2_SLEEP(1);
@@ -3264,13 +3250,13 @@
         sandesha2_seq_property_bean_t *relates_to_bean = NULL;
         
         rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-                internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+                internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
 
         /* We will wait until the response for the create sequence message received. */
         while(!rms_sequence_bean)
         {
             rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-                    internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+                    internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
             AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
                     "[sandesha2] Create sequence response has not yet arrived. So sleep");
             AXIS2_SLEEP(1);
@@ -3314,8 +3300,8 @@
         /* Add the acknowledgement element into the soap envelope */
         if(!sandesha2_util_is_ack_already_piggybacked(env, rm_msg_ctx))
         {
-            sandesha2_ack_mgr_piggyback_acks_if_present(env, rms_sequence_id, rm_msg_ctx, storage_mgr, 
-                    seq_prop_mgr, sender_mgr);
+            sandesha2_ack_mgr_piggyback_acks_if_present(env, rms_sequence_id, rm_msg_ctx, 
+                    storage_mgr, seq_prop_mgr, sender_mgr);
         }
 
         identifier = sandesha2_identifier_create(env, rm_ns_val);
@@ -3616,7 +3602,7 @@
     }
 
     rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-            internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+            internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
 
     key = sandesha2_sender_bean_get_msg_ctx_ref_key(sender_bean, env);
     app_msg_ctx = sandesha2_storage_mgr_retrieve_msg_ctx(storage_mgr, env, key, conf_ctx, 
@@ -3652,7 +3638,7 @@
         }
 
         rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
-                internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+                internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
         AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
             "[sandesha2] Create sequence response has not yet arrived. So sleep");
         AXIS2_SLEEP(1);
@@ -3712,6 +3698,12 @@
 
     sender_bean = sandesha2_sender_mgr_get_application_msg_to_send(sender_mgr, env, 
             internal_sequence_id, msg_id);
+
+    /* We alwasy need to make sure that this function is always called only once during a message
+     * sending process. Otherwise message constructs could be duplicated in the soap envelope.
+     */
+    sandesha2_msg_ctx_add_soap_envelope(rm_msg_ctx, env);
+
     /* Resend the application message until timeout or exceed the maximum number of re-sends as
      * specified by Policy.
      */



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org