You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by da...@apache.org on 2007/05/16 14:35:25 UTC

svn commit: r538563 - /webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c

Author: damitha
Date: Wed May 16 05:35:24 2007
New Revision: 538563

URL: http://svn.apache.org/viewvc?view=rev&rev=538563
Log:
In RM 1.1 terminate sequence response is not coming for ping client. Fixed this.

Modified:
    webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c

Modified: webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c?view=diff&rev=538563&r1=538562&r2=538563
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c Wed May 16 05:35:24 2007
@@ -228,7 +228,6 @@
     sandesha2_seq_property_bean_set_value(term_rcvd_bean, env, 
         AXIS2_VALUE_TRUE);
     sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, term_rcvd_bean);*/
-   
     spec_version = sandesha2_msg_ctx_get_rm_spec_ver(rm_msg_ctx, env);
     if(AXIS2_TRUE == sandesha2_spec_specific_consts_is_term_seq_res_reqd(env, 
             spec_version))
@@ -355,8 +354,8 @@
     axutil_property_t *property = NULL;
     axis2_engine_t *engine = NULL;
     axis2_char_t *addr_ns_uri = NULL;
-    axis2_endpoint_ref_t *to_epr = NULL;
     axis2_op_ctx_t *op_ctx = NULL;
+    axis2_endpoint_ref_t *to_epr = NULL;
     axis2_transport_out_desc_t *orig_trans_out = NULL;
     axis2_transport_out_desc_t *trans_out = NULL;
     sandesha2_sender_bean_t *term_res_bean = NULL;
@@ -390,38 +389,41 @@
         SANDESHA2_APPLICATION_PROCESSING_DONE, property);
     
     /* test code */
-
-    orig_trans_out = axis2_msg_ctx_get_transport_out_desc(out_msg_ctx, env);
-    property = axutil_property_create_with_args(env, 0, 0, 0, orig_trans_out);
-    axis2_msg_ctx_set_property(out_msg_ctx, env,
-        SANDESHA2_ORIGINAL_TRANSPORT_OUT_DESC, property);
-    trans_out = sandesha2_utils_get_transport_out(env);
-    axis2_msg_ctx_set_transport_out_desc(out_msg_ctx, env, trans_out);
-
-    key = axutil_uuid_gen(env);
-    term_res_bean = sandesha2_sender_bean_create(env);
-    sandesha2_sender_bean_set_msg_ctx_ref_key(term_res_bean, env, key);
-    property = axutil_property_create_with_args(env, 0, 0, 0, key);
-    axis2_msg_ctx_set_property(out_msg_ctx, env, SANDESHA2_MESSAGE_STORE_KEY, 
-        property);
-    sandesha2_storage_mgr_store_msg_ctx(storage_mgr, env, key, out_msg_ctx);
-
-    /* TODO: refine the terminate delay */
-    sandesha2_sender_bean_set_time_to_send(term_res_bean, env,
-        sandesha2_utils_get_current_time_in_millis(env) +
-        SANDESHA2_TERMINATE_DELAY);
-    sandesha2_sender_bean_set_msg_id(term_res_bean, env,
-        (axis2_char_t *) axis2_msg_ctx_get_msg_id(out_msg_ctx, env));
-    sandesha2_sender_bean_set_send(term_res_bean, env, AXIS2_TRUE);
-
-    property = axutil_property_create_with_args(env, 0, 0, 0, 
-        AXIS2_VALUE_TRUE);
-    axis2_msg_ctx_set_property(msg_ctx, env, SANDESHA2_QUALIFIED_FOR_SENDING,
-        property);
-    sandesha2_sender_bean_set_resend(term_res_bean, env, AXIS2_FALSE);
-    retrans_mgr = sandesha2_storage_mgr_get_retrans_mgr(storage_mgr, env);
-    sandesha2_sender_mgr_insert(retrans_mgr, env, term_res_bean);
-
+    to_epr = axis2_msg_ctx_get_to(out_msg_ctx, env);
+    if(to_epr && !sandesha2_utils_is_anon_uri(env, 
+        axis2_endpoint_ref_get_address(to_epr, env)))
+    {       
+        orig_trans_out = axis2_msg_ctx_get_transport_out_desc(out_msg_ctx, env);
+        property = axutil_property_create_with_args(env, 0, 0, 0, orig_trans_out);
+        axis2_msg_ctx_set_property(out_msg_ctx, env,
+            SANDESHA2_ORIGINAL_TRANSPORT_OUT_DESC, property);
+        trans_out = sandesha2_utils_get_transport_out(env);
+        axis2_msg_ctx_set_transport_out_desc(out_msg_ctx, env, trans_out);
+
+        key = axutil_uuid_gen(env);
+        term_res_bean = sandesha2_sender_bean_create(env);
+        sandesha2_sender_bean_set_msg_ctx_ref_key(term_res_bean, env, key);
+        property = axutil_property_create_with_args(env, 0, 0, 0, key);
+        axis2_msg_ctx_set_property(out_msg_ctx, env, SANDESHA2_MESSAGE_STORE_KEY, 
+            property);
+        sandesha2_storage_mgr_store_msg_ctx(storage_mgr, env, key, out_msg_ctx);
+
+        /* TODO: refine the terminate delay */
+        sandesha2_sender_bean_set_time_to_send(term_res_bean, env,
+            sandesha2_utils_get_current_time_in_millis(env) +
+            SANDESHA2_TERMINATE_DELAY);
+        sandesha2_sender_bean_set_msg_id(term_res_bean, env,
+            (axis2_char_t *) axis2_msg_ctx_get_msg_id(out_msg_ctx, env));
+        sandesha2_sender_bean_set_send(term_res_bean, env, AXIS2_TRUE);
+
+        property = axutil_property_create_with_args(env, 0, 0, 0, 
+            AXIS2_VALUE_TRUE);
+        axis2_msg_ctx_set_property(msg_ctx, env, SANDESHA2_QUALIFIED_FOR_SENDING,
+            property);
+        sandesha2_sender_bean_set_resend(term_res_bean, env, AXIS2_FALSE);
+        retrans_mgr = sandesha2_storage_mgr_get_retrans_mgr(storage_mgr, env);
+        sandesha2_sender_mgr_insert(retrans_mgr, env, term_res_bean);
+    }
     /* end test code */
     
     engine = axis2_engine_create(env, axis2_msg_ctx_get_conf_ctx(msg_ctx, env));
@@ -429,19 +431,27 @@
     
     addr_ns_uri = sandesha2_utils_get_seq_property(env, seq_id,
         SANDESHA2_SEQ_PROP_ADDRESSING_NAMESPACE_VALUE, storage_mgr);
-    to_epr = axis2_msg_ctx_get_to(msg_ctx, env);
-    
-    op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env);
-    if(sandesha2_utils_is_anon_uri(env, axis2_endpoint_ref_get_address(to_epr, 
-        env)))
+    op_ctx = axis2_msg_ctx_get_op_ctx(out_msg_ctx, env);
+    if(to_epr)
     {
-        axis2_op_ctx_set_response_written(op_ctx, env, AXIS2_TRUE);
+        printf("to_epr:%s\n", axis2_endpoint_ref_get_address(to_epr, env));
+        if(sandesha2_utils_is_anon_uri(env, axis2_endpoint_ref_get_address(to_epr, 
+            env)))
+        {
+            printf("came1\n");
+            axis2_op_ctx_set_response_written(op_ctx, env, AXIS2_TRUE);
+        }
+        else
+        {
+            printf("came2\n");
+            axis2_op_ctx_set_response_written(op_ctx, env, AXIS2_FALSE);
+        }
     }
     else
     {
-        axis2_op_ctx_set_response_written(op_ctx, env, AXIS2_FALSE);
+        printf("came3\n");
+        axis2_op_ctx_set_response_written(op_ctx, env, AXIS2_TRUE);
     }
-        
     return AXIS2_SUCCESS;
 }
     



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