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]