Author: damitha
Date: Tue Sep 16 08:09:27 2008
New Revision: 695933

URL: http://svn.apache.org/viewvc?rev=695933&view=rev
Log:
Working on interoperability

Modified:
    webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
    webservices/sandesha/trunk/c/src/wsrm/acks_to.c

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=695933&r1=695932&r2=695933&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c 
(original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Tue Sep 
16 08:09:27 2008
@@ -2084,8 +2084,8 @@
      * In all other cases we do not send the acknowledgment directly, but 
piggyback it on application
      * messages or terminate sequence message.
      */
-    /*if(ack_rm_msg_ctx && one_way)*/
-    if(ack_rm_msg_ctx)
+    if(ack_rm_msg_ctx && one_way)
+    /*if(ack_rm_msg_ctx)*/
     {
         axis2_engine_t *engine = NULL;
         engine = axis2_engine_create(env, conf_ctx);
@@ -2882,6 +2882,7 @@
     axis2_conf_t *conf = NULL;
     const axis2_char_t *mep = NULL;
     axis2_relates_to_t *relates_to = NULL;
+    sandesha2_seq_property_bean_t *relates_to_bean = NULL;
 
     AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI,   
         "[Sandesha2] Entry:sandesha2_app_msg_processor_send_app_msg");
@@ -3312,8 +3313,17 @@
         axutil_qname_free(qname, env);
     }
 
+    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);
+    }
+
     if(!is_svr_side && (!reply_to_addr || 
sandesha2_utils_is_rm_1_0_anonymous_acks_to(env, rm_version, reply_to_addr)))
     {
+        /* Client side and oneway */
         axis2_transport_out_desc_t *transport_out = NULL;
         axis2_transport_sender_t *transport_sender = NULL;
         sandesha2_sender_bean_t *sender_bean = NULL;
@@ -3436,18 +3446,8 @@
 
         return status;
     }
-    else
+    else /* Not client side */
     {
-        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_msg_ctx_increment_ref(app_msg_ctx, env);
         engine = axis2_engine_create(env, conf_ctx);
         if(axis2_engine_resume_send(engine, env, app_msg_ctx))

Modified: webservices/sandesha/trunk/c/src/wsrm/acks_to.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/acks_to.c?rev=695933&r1=695932&r2=695933&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/acks_to.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/acks_to.c Tue Sep 16 08:09:27 2008
@@ -25,6 +25,8 @@
 struct sandesha2_acks_to_t
 {
        sandesha2_address_t *address;
+    /** reference parameters */
+    axutil_array_list_t *ref_param_list;
        axis2_char_t *addr_ns_val;
        axis2_char_t *rm_ns_val;
 };
@@ -63,6 +65,7 @@
     acks_to->rm_ns_val = (axis2_char_t *)axutil_strdup(env, rm_ns_val);
     acks_to->addr_ns_val = (axis2_char_t *)axutil_strdup(env, addr_ns_val);
     acks_to->address = address;
+    acks_to->ref_param_list = NULL;
     
        return acks_to;
 }
@@ -89,6 +92,11 @@
         acks_to->address = NULL;
     }
     
+    if (acks_to->ref_param_list)
+    {
+        axutil_array_list_free(acks_to->ref_param_list, env);
+    }
+    
        AXIS2_FREE(env->allocator, acks_to);
        return AXIS2_SUCCESS;
 }
@@ -101,6 +109,38 @@
        return acks_to->rm_ns_val;
 }
 
+axutil_array_list_t *AXIS2_CALL
+sandesha2_acks_to_get_ref_param_list(
+    sandesha2_acks_to_t * acks_to,
+    const axutil_env_t * env)
+{
+    return acks_to->ref_param_list;
+}
+
+axis2_status_t AXIS2_CALL
+sandesha2_acks_to_add_ref_param(
+    sandesha2_acks_to_t * acks_to,
+    const axutil_env_t * env,
+    axiom_node_t * ref_param_node)
+{
+    if (!(acks_to->ref_param_list))
+    {
+        acks_to->ref_param_list = axutil_array_list_create(env, 0);
+        if (!(acks_to->ref_param_list))
+        {
+            AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+            return AXIS2_FAILURE;
+        }
+    }
+
+    if (acks_to->ref_param_list && ref_param_node)
+    {
+        return axutil_array_list_add(acks_to->ref_param_list, env, 
ref_param_node);
+    }
+
+    return AXIS2_FAILURE;
+}
+
 
 void* AXIS2_CALL 
 sandesha2_acks_to_from_om_node(



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to