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 2008/08/22 08:44:49 UTC

svn commit: r687973 - in /webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008: config/ include/ samples/RMSampleService/ samples/rm_echo_1_0/ src/msgprocessors/ src/polling/ src/storage/sqlite/ src/util/ src/workers/

Author: damitha
Date: Thu Aug 21 23:44:47 2008
New Revision: 687973

URL: http://svn.apache.org/viewvc?rev=687973&view=rev
Log:
Making interoperable with .net

Modified:
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/config/axis2.xml
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_ack_mgr.h
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_constants.h
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_seq_property_mgr.h
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/RMSampleService/services.xml
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/rm_echo_1_0/rm_echo.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/ack_msg_processor.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/terminate_seq_msg_processor.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/polling/polling_mgr.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_sender_mgr.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_seq_property_mgr.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/ack_mgr.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/fault_mgr.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/terminate_mgr.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/workers/sender_worker.c

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/config/axis2.xml
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/config/axis2.xml?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/config/axis2.xml (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/config/axis2.xml Thu Aug 21 23:44:47 2008
@@ -39,7 +39,7 @@
     <transportSender name="http" class="axis2_http_sender">
         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
         <!--parameter name="Transfer-Encoding">chunked</parameter-->
-        <!--parameter name="PROXY" proxy_host="127.0.0.1" proxy_port="8080" locked="true"/-->
+        <parameter name="PROXY" proxy_host="127.0.0.1" proxy_port="8080" locked="true"/>
     </transportSender>
     
     <!--

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_ack_mgr.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_ack_mgr.h?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_ack_mgr.h (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_ack_mgr.h Thu Aug 21 23:44:47 2008
@@ -74,6 +74,7 @@
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 sandesha2_ack_mgr_piggyback_acks_if_present(
     const axutil_env_t *env,
+    axis2_char_t *seq_id,
     sandesha2_msg_ctx_t *rm_msg_ctx,
     sandesha2_storage_mgr_t *storage_mgr,
     struct sandesha2_seq_property_mgr *seq_prop_mgr,

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_constants.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_constants.h?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_constants.h (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_constants.h Thu Aug 21 23:44:47 2008
@@ -292,6 +292,8 @@
     #define SANDESHA2_SEQ_PROP_HIGHEST_IN_MSG_ID "HighestInMsgId"
     
     #define SANDESHA2_SEQ_PROP_1_0_REPLAY "Replay1_0"
+    
+    #define SANDESHA2_SEQ_PROP_RELATED_MSG_ID "related_msg_id"
 	
 	/**
 	 * SOAP Versions

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_seq_property_mgr.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_seq_property_mgr.h?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_seq_property_mgr.h (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/include/sandesha2_seq_property_mgr.h Thu Aug 21 23:44:47 2008
@@ -96,7 +96,6 @@
             retrieve_all)(
                 sandesha2_seq_property_mgr_t *seq_property,
                 const axutil_env_t *env);
-
 };
 
 AXIS2_DECLARE_DATA struct sandesha2_seq_property_mgr

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/RMSampleService/services.xml
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/RMSampleService/services.xml?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/RMSampleService/services.xml (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/RMSampleService/services.xml Thu Aug 21 23:44:47 2008
@@ -1,5 +1,6 @@
 <service name="RMSampleService">
     <module ref="sandesha2"/>
+    <module ref="addressing"/>
     <parameter name="ServiceClass" locked="xsd:false">RMSampleService</parameter>
 
    <description>

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/rm_echo_1_0/rm_echo.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/rm_echo_1_0/rm_echo.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/rm_echo_1_0/rm_echo.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/samples/rm_echo_1_0/rm_echo.c Thu Aug 21 23:44:47 2008
@@ -180,6 +180,7 @@
         axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, 
             property);
     }
+
     for(i = 1; i < 3; i++)
     {
         axis2_char_t echo_str[7];
@@ -192,6 +193,7 @@
         wait_on_callback(env, callback1);
         AXIS2_SLEEP(1);
     }
+
     axis2_svc_client_remove_all_headers(svc_client, env);
     property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
     axis2_options_set_property(options, env, "Sandesha2LastMessage", property);

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/ack_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/ack_msg_processor.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/ack_msg_processor.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/ack_msg_processor.c Thu Aug 21 23:44:47 2008
@@ -229,13 +229,16 @@
     internal_sequence_id = sandesha2_utils_get_seq_property(env, rms_sequence_id, 
             SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_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, rms_sequence_id, 
+            seq_prop_mgr, create_seq_mgr, next_msg_mgr);*/
 
     if(fault_msg_ctx)
     {
         axis2_engine_t *engine = NULL;
 
+		AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
+            "[sandesha2] sandesha2_ack_msg_processor_process_in_msg send Fault");
+
         engine = axis2_engine_create(env, conf_ctx);
         axis2_engine_send_fault(engine, env, sandesha2_msg_ctx_get_msg_ctx(fault_msg_ctx, env));
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
@@ -251,6 +254,8 @@
     {
         axis2_engine_t *engine = NULL;
 
+		AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
+            "[sandesha2] sandesha2_ack_msg_processor_process_in_msg send Fault");
         engine = axis2_engine_create(env, conf_ctx);
         axis2_engine_send_fault(engine, env, sandesha2_msg_ctx_get_msg_ctx(fault_msg_ctx, env));
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c Thu Aug 21 23:44:47 2008
@@ -1869,6 +1869,12 @@
      */
     if(!one_way)
     {
+        axis2_relates_to_t *relates_to = NULL;
+        const axis2_char_t *related_msg_id = NULL;
+        axis2_char_t *outgoing_seq_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);
       
@@ -1879,6 +1885,43 @@
 
         key = axutil_uuid_gen(env);
         ack_bean = sandesha2_sender_bean_create(env);
+
+        relates_to = axis2_msg_ctx_get_relates_to(msg_ctx, env);
+        if(relates_to)
+        {
+
+            related_msg_id = axis2_relates_to_get_value(relates_to, env);
+            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "related_msg_id:%s", related_msg_id);
+            relates_to_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
+                    related_msg_id, SANDESHA2_SEQ_PROP_RELATED_MSG_ID);
+            if(relates_to_bean)
+            {
+
+                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);
+            }
+        }
+
+        if(!outgoing_seq_id)
+        {
+            axis2_char_t *outgoing_internal_seq_id = NULL;
+            axis2_char_t *outgoing_seq_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_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);
+            }
+        }
+
         sandesha2_sender_bean_set_msg_ctx_ref_key(ack_bean, env, key);
         /* We don't store the acknowledgment in memory. To indicate that it should be stored only in the
          * database we pass AXIS2_FALSE as last argument. This measure is taken to avoid memory corruption.
@@ -1889,11 +1932,21 @@
         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_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);
 
+        if(relates_to_bean)
+        {
+            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)
         {
             sandesha2_seq_property_bean_free(rms_internal_sequence_bean, env);
@@ -2369,6 +2422,8 @@
     create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
     sender_mgr = sandesha2_permanent_sender_mgr_create(env, dbname);
 
+    AXIS2_SLEEP(retrans_interval);
+
     rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_sequence_id, 
             SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
 
@@ -2376,9 +2431,8 @@
     transport_out = axis2_msg_ctx_get_transport_out_desc(create_seq_msg_ctx, env);
     transport_sender = axis2_transport_out_desc_get_sender(transport_out, env);
 
-    AXIS2_SLEEP(retrans_interval);
 
-    while(!rms_sequence_bean)
+    while(rms_sequence_bean)
     {
         continue_sending = sandesha2_msg_retrans_adjuster_adjust_retrans(env, create_sequence_sender_bean, 
                 conf_ctx, storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
@@ -2980,8 +3034,8 @@
 
     if(!sandesha2_util_is_ack_already_piggybacked(env, rm_msg_ctx))
     {
-        sandesha2_ack_mgr_piggyback_acks_if_present(env, 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);
     }
 
     if(!is_svr_side && (!reply_to_addr || sandesha2_utils_is_rm_1_0_anonymous_acks_to(env, rm_version, reply_to_addr)))
@@ -3143,6 +3197,16 @@
     }
     else
     {
+        sandesha2_seq_property_bean_t *relates_to_bean = NULL;
+
+        relates_to_bean = sandesha2_seq_property_bean_create_with_data(env, msg_id, 
+                SANDESHA2_SEQ_PROP_RELATED_MSG_ID, rms_sequence_id);
+        if(relates_to_bean)
+        {
+            sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, relates_to_bean);
+            sandesha2_seq_property_bean_free(relates_to_bean, env);
+        }
+
         AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "came3");
         axis2_msg_ctx_increment_ref(app_msg_ctx, env);
         engine = axis2_engine_create(env, conf_ctx);

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/terminate_seq_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/terminate_seq_msg_processor.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/terminate_seq_msg_processor.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/terminate_seq_msg_processor.c Thu Aug 21 23:44:47 2008
@@ -885,8 +885,8 @@
 
     if(!sandesha2_util_is_ack_already_piggybacked(env, rm_msg_ctx))
     {
-        sandesha2_ack_mgr_piggyback_acks_if_present(env, rm_msg_ctx, storage_mgr, seq_prop_mgr, 
-                sender_mgr);
+        sandesha2_ack_mgr_piggyback_acks_if_present(env, out_seq_id, rm_msg_ctx, storage_mgr, 
+                seq_prop_mgr, sender_mgr);
     }
 
     /*key = axutil_uuid_gen(env);

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/polling/polling_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/polling/polling_mgr.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/polling/polling_mgr.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/polling/polling_mgr.c Thu Aug 21 23:44:47 2008
@@ -222,7 +222,6 @@
         /*status = sandesha2_utils_execute_and_store(env, make_conn_rm_msg_ctx, 
             make_conn_msg_store_key);*/
 
-        AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "came10");
         status = axis2_engine_send(engine, env, make_conn_msg_ctx);
 
         if(AXIS2_SUCCESS != status)

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c Thu Aug 21 23:44:47 2008
@@ -194,7 +194,7 @@
     sandesha2_permanent_create_seq_mgr_retrieve,
     sandesha2_permanent_create_seq_mgr_update,
     sandesha2_permanent_create_seq_mgr_find,
-    sandesha2_permanent_create_seq_mgr_find_unique,
+    sandesha2_permanent_create_seq_mgr_find_unique
 };
 
 AXIS2_EXTERN sandesha2_create_seq_mgr_t * AXIS2_CALL

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_sender_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_sender_mgr.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_sender_mgr.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_sender_mgr.c Thu Aug 21 23:44:47 2008
@@ -226,7 +226,7 @@
     sandesha2_permanent_sender_mgr_find_by_sender_bean,
     sandesha2_permanent_sender_mgr_find_unique,
     sandesha2_permanent_sender_mgr_get_application_msg_to_send,
-    sandesha2_permanent_sender_mgr_get_next_msg_to_send,
+    sandesha2_permanent_sender_mgr_get_next_msg_to_send
 };
 
 AXIS2_EXTERN sandesha2_sender_mgr_t * AXIS2_CALL
@@ -447,6 +447,7 @@
     axis2_char_t *msg_id = NULL;
 	axis2_char_t *msg_ctx_ref_key = NULL;
 	axis2_char_t *internal_seq_id = NULL;
+	axis2_char_t *seq_id = NULL;
 	long msg_no = 0;
 	axis2_bool_t send = AXIS2_FALSE;
 	long time_to_send = 0;
@@ -463,6 +464,7 @@
             env);
         msg_ctx_ref_key = sandesha2_sender_bean_get_msg_ctx_ref_key(bean, env);
         internal_seq_id = sandesha2_sender_bean_get_internal_seq_id(bean, env);
+        seq_id = sandesha2_sender_bean_get_seq_id(bean, env);
         msg_no = sandesha2_sender_bean_get_msg_no(bean, env);
         send = sandesha2_sender_bean_is_send(bean, env);
         time_to_send = sandesha2_sender_bean_get_time_to_send(bean, env);
@@ -501,6 +503,7 @@
             sprintf(sql_find + axutil_strlen(sql_find),
                 " and msg_id = '%s'", msg_id);
     }
+
     if(internal_seq_id)
     {
         if(!add_where)
@@ -516,6 +519,19 @@
         }
     }
     
+    if(seq_id)
+    {
+        if(!add_where)
+        {
+            add_where = AXIS2_TRUE;
+            sprintf(sql_find + axutil_strlen(sql_find), " where seq_id = '%s'", seq_id);
+        }
+        else
+        {
+            sprintf(sql_find + axutil_strlen(sql_find), " and seq_id = '%s'", seq_id);
+        }
+    }
+
     if(msg_no > 0)
     {
         if(!add_where)

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_seq_property_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_seq_property_mgr.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_seq_property_mgr.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_seq_property_mgr.c Thu Aug 21 23:44:47 2008
@@ -183,7 +183,7 @@
     sandesha2_permanent_seq_property_mgr_update,
     sandesha2_permanent_seq_property_mgr_find,
     sandesha2_permanent_seq_property_mgr_find_unique,
-    sandesha2_permanent_seq_property_mgr_retrieve_all,
+    sandesha2_permanent_seq_property_mgr_retrieve_all
 };
 
 AXIS2_EXTERN sandesha2_seq_property_mgr_t * AXIS2_CALL

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/ack_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/ack_mgr.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/ack_mgr.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/ack_mgr.c Thu Aug 21 23:44:47 2008
@@ -266,6 +266,7 @@
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 sandesha2_ack_mgr_piggyback_acks_if_present(
     const axutil_env_t *env,
+    axis2_char_t *seq_id,
     sandesha2_msg_ctx_t *target_rm_msg_ctx,
     sandesha2_storage_mgr_t *storage_mgr,
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
@@ -283,9 +284,11 @@
     
     target_msg_ctx = sandesha2_msg_ctx_get_msg_ctx(target_rm_msg_ctx, env);
     conf_ctx = axis2_msg_ctx_get_conf_ctx(target_msg_ctx, env);
-    
+
     find_bean = sandesha2_sender_bean_create(env);
     sandesha2_sender_bean_set_msg_type(find_bean, env, SANDESHA2_MSG_TYPE_ACK);
+    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "dam_seq_id:%s", seq_id);
+    sandesha2_sender_bean_set_seq_id(find_bean, env, seq_id);
     sandesha2_sender_bean_set_send(find_bean, env, AXIS2_TRUE);
     sandesha2_sender_bean_set_resend(find_bean, env, AXIS2_FALSE);
 

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/fault_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/fault_mgr.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/fault_mgr.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/fault_mgr.c Thu Aug 21 23:44:47 2008
@@ -166,43 +166,56 @@
 {
     int type = -1;
     axis2_bool_t valid_seq = AXIS2_TRUE;
-    
+
+    AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "[sandesha2] sandesha2_fault_mgr_check_for_unknown_seq");
+
     AXIS2_PARAM_CHECK(env->error, rm_msg_ctx, NULL);
     AXIS2_PARAM_CHECK(env->error, seq_prop_mgr, NULL);
     AXIS2_PARAM_CHECK(env->error, create_seq_mgr, NULL);
     AXIS2_PARAM_CHECK(env->error, seq_id, NULL);
     
     type = sandesha2_msg_ctx_get_msg_type(rm_msg_ctx, env);
-    if(SANDESHA2_MSG_TYPE_ACK == type || 
-        SANDESHA2_MSG_TYPE_CREATE_SEQ_RESPONSE == type ||
-        SANDESHA2_MSG_TYPE_TERMINATE_SEQ_RESPONSE == type ||
+    if(SANDESHA2_MSG_TYPE_ACK == type || SANDESHA2_MSG_TYPE_CREATE_SEQ_RESPONSE == type ||
+        SANDESHA2_MSG_TYPE_TERMINATE_SEQ_RESPONSE == type || 
         SANDESHA2_MSG_TYPE_CLOSE_SEQ_RESPONSE == type)
     {
         sandesha2_create_seq_bean_t *find_bean = NULL;
         axutil_array_list_t *list = NULL;
+
         find_bean = sandesha2_create_seq_bean_create(env);
         sandesha2_create_seq_bean_set_rms_sequence_id(find_bean, env, seq_id);
-        list = sandesha2_create_seq_mgr_find(create_seq_mgr, env, 
-                        find_bean);
+        list = sandesha2_create_seq_mgr_find(create_seq_mgr, env, find_bean);
         if(find_bean)
+        {
             sandesha2_create_seq_bean_free(find_bean, env);
+        }
+
         if(list)
         {
             int i = 0, size = 0;
             size = axutil_array_list_size(list, env);
             if(0 == size)
+            {
+                AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[sandesha2] Not a valid sequence message");
                 valid_seq = AXIS2_FALSE;
+            }
+
             for(i = 0; i < size; i++)
             {
-                sandesha2_create_seq_bean_t *create_seq_bean = 
-                    axutil_array_list_get(list, env, i);
+                sandesha2_create_seq_bean_t *create_seq_bean = axutil_array_list_get(list, env, i);
                 if(create_seq_bean)
+                {
                     sandesha2_create_seq_bean_free(create_seq_bean, env);
+                }
             }
+
             axutil_array_list_free(list, env);
         }
         else
+        {
+            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[sandesha2] Not a valid sequence message");
             valid_seq = AXIS2_FALSE;        
+        }
     }
     else
     {
@@ -220,33 +233,50 @@
                 axis2_char_t *tmp_id = NULL;
                 
                 next_bean = axutil_array_list_get(list, env, i);
-                tmp_id = sandesha2_next_msg_bean_get_seq_id(
-                    next_bean, env);
+                tmp_id = sandesha2_next_msg_bean_get_seq_id(next_bean, env);
+                AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[sandesha2] tmp_sequence_id:%s", tmp_id);
+                AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[sandesha2] sequence_id:%s", seq_id);
                 if(contains)
                 {
                     if(next_bean)
+                    {
                         sandesha2_next_msg_bean_free(next_bean, env);
+                    }
+
                     continue;
                 }
-                if(0 == axutil_strcmp(seq_id, tmp_id))
+                if(!axutil_strcmp(seq_id, tmp_id))
                 {
                     if(next_bean)
+                    {
                         sandesha2_next_msg_bean_free(next_bean, env);
+                    }
+
                     contains = AXIS2_TRUE;
                 }
                 else
                 {
                     if(next_bean)
+                    {
                         sandesha2_next_msg_bean_free(next_bean, env);
+                    }
                 }
             }
+
             axutil_array_list_free(list, env);
         }
+
         if(contains)
+        {
+            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[sandesha2] Not a valid sequence message");
             valid_seq = AXIS2_TRUE;
+        }
         else
+        {
             valid_seq = AXIS2_FALSE;
+        }
     }
+
     if(!valid_seq)
     {
         sandesha2_fault_data_t *fault_data = NULL;
@@ -259,25 +289,33 @@
         rm_ns_val = sandesha2_msg_ctx_get_rm_ns_val(rm_msg_ctx, env);
         if(SANDESHA2_SOAP_VERSION_1_1 == sandesha2_utils_get_soap_version(env, 
                         sandesha2_msg_ctx_get_soap_envelope(rm_msg_ctx, env)))
-            sandesha2_fault_data_set_code(fault_data, env, 
-                        AXIOM_SOAP11_FAULT_CODE_SENDER);
+        {
+            sandesha2_fault_data_set_code(fault_data, env, AXIOM_SOAP11_FAULT_CODE_SENDER);
+        }
         else
-            sandesha2_fault_data_set_code(fault_data, env, 
-                        AXIOM_SOAP12_FAULT_CODE_SENDER);
-        sandesha2_fault_data_set_sub_code(fault_data, env, 
-                        SANDESHA2_SOAP_FAULT_SUBCODE_UNKNOWN_SEQ);
+        {
+            sandesha2_fault_data_set_code(fault_data, env, AXIOM_SOAP12_FAULT_CODE_SENDER);
+        }
+
+        sandesha2_fault_data_set_sub_code(fault_data, env, SANDESHA2_SOAP_FAULT_SUBCODE_UNKNOWN_SEQ);
         qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_IDENTIFIER,
                         rm_ns_val, SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
-        detail_ele = axiom_element_create_with_qname(env, NULL, qname, 
-                        &detail_node);
+        detail_ele = axiom_element_create_with_qname(env, NULL, qname, &detail_node);
         if(qname)
+        {
             axutil_qname_free(qname, env);
+        }
+
         sandesha2_fault_data_set_detail(fault_data, env, detail_node);
-        sandesha2_fault_data_set_reason(fault_data, env, "A sequence with the" \
-                        " given sequenceID has NOT been established");
+        sandesha2_fault_data_set_reason(fault_data, env, 
+                "A sequence with the given sequenceID has NOT been established");
+
         return sandesha2_fault_mgr_get_fault(env, rm_msg_ctx, fault_data,
             sandesha2_msg_ctx_get_addr_ns_val(rm_msg_ctx, env), seq_prop_mgr);
     }
+    
+    AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "[sandesha2] sandesha2_fault_mgr_check_for_unknown_seq");
+
     return NULL;
 }
 

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/terminate_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/terminate_mgr.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/terminate_mgr.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/terminate_mgr.c Thu Aug 21 23:44:47 2008
@@ -991,8 +991,8 @@
         }
 
         /* Clean sending side data */
-        sandesha2_terminate_mgr_terminate_sending_side(env, conf_ctx, internal_sequence_id, 
-                is_svr_side, storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
+        /*sandesha2_terminate_mgr_terminate_sending_side(env, conf_ctx, internal_sequence_id, 
+                is_svr_side, storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);*/
         terminate_added = sandesha2_seq_property_bean_create(env);
 
         if(terminate_added)
@@ -1078,8 +1078,8 @@
 
     if(!sandesha2_util_is_ack_already_piggybacked(env, terminate_rm_msg_ctx))
     {
-        sandesha2_ack_mgr_piggyback_acks_if_present(env, terminate_rm_msg_ctx, storage_mgr, 
-                seq_prop_mgr, sender_mgr);
+        sandesha2_ack_mgr_piggyback_acks_if_present(env, rms_sequence_id, terminate_rm_msg_ctx, 
+                storage_mgr, seq_prop_mgr, sender_mgr);
     }
 
     is_svr_side = sandesha2_msg_ctx_get_server_side(ack_rm_msg_ctx, env); /* Do we need this?:damitha */
@@ -1196,8 +1196,8 @@
         sandesha2_sender_bean_free(terminate_sender_bean, env);
     }
 
-    sandesha2_terminate_mgr_terminate_sending_side(env, conf_ctx, internal_sequence_id, is_svr_side, 
-            storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
+    /*sandesha2_terminate_mgr_terminate_sending_side(env, conf_ctx, internal_sequence_id, is_svr_side, 
+            storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);*/
 
     terminate_added = sandesha2_seq_property_bean_create(env);
     if(terminate_added)

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/workers/sender_worker.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/workers/sender_worker.c?rev=687973&r1=687972&r2=687973&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/workers/sender_worker.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/workers/sender_worker.c Thu Aug 21 23:44:47 2008
@@ -322,7 +322,7 @@
         sandesha2_sender_worker_is_ack_already_piggybacked(sender_worker, env,
         rm_msg_ctx))
     {
-        sandesha2_ack_mgr_piggyback_acks_if_present(env, rm_msg_ctx,
+        sandesha2_ack_mgr_piggyback_acks_if_present(env, NULL, rm_msg_ctx,
             storage_mgr, seq_prop_mgr, sender_mgr);
     }
     



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