Author: damitha
Date: Tue Aug 22 23:15:12 2006
New Revision: 433926
URL: http://svn.apache.org/viewvc?rev=433926&view=rev
Log:
More work on Sandesha2
Modified:
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_iom_rm_element.h
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_spec_specific_consts.h
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h
webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h
webservices/sandesha/trunk/c/src/client/client.c
webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c
webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c
webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c
webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/msg_processor_creator.c
webservices/sandesha/trunk/c/src/util/ack_mgr.c
webservices/sandesha/trunk/c/src/util/error.c
webservices/sandesha/trunk/c/src/util/msg_creator.c
webservices/sandesha/trunk/c/src/util/seq_mgr.c
webservices/sandesha/trunk/c/src/util/spec_specific_consts.c
webservices/sandesha/trunk/c/src/util/utils.c
webservices/sandesha/trunk/c/src/wsrm/ack_range.c
webservices/sandesha/trunk/c/src/wsrm/seq_ack.c
Modified: webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h Tue Aug 22
23:15:12 2006
@@ -134,6 +134,8 @@
SANDESHA2_ERROR_CANNOT_SEND_ACK_REQUEST_MESSAGE_SINCE_IS_NOT_ACTIVE,
/* This spec version does not define a ackRequest action */
SANDESHA2_ERROR_SPEC_VERSION_DOES_NOT_DEFINE_A_ACK_REQUEST_ACTION,
+ /* This spec version does not define a ackRequest soap action */
+ SANDESHA2_ERROR_SPEC_VERSION_DOES_NOT_DEFINE_A_ACK_REQUEST_SOAP_ACTION,
/* Invalid endpoint reference */
SANDESHA2_ERROR_INVALID_EPR,
/* Cannot find the sequence id */
Modified:
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_iom_rm_element.h
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2/sandesha2_iom_rm_element.h?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2/sandesha2_iom_rm_element.h
(original)
+++ webservices/sandesha/trunk/c/include/sandesha2/sandesha2_iom_rm_element.h
Tue Aug 22 23:15:12 2006
@@ -56,7 +56,8 @@
axiom_node_t* (AXIS2_CALL *to_om_node)
(sandesha2_iom_rm_element_t *element,
- const axis2_env_t *env, void *om_node);
+ const axis2_env_t *env,
+ void *om_node);
axis2_bool_t (AXIS2_CALL *is_namespace_supported)
(sandesha2_iom_rm_element_t *element,
Modified:
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_spec_specific_consts.h
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2/sandesha2_spec_specific_consts.h?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
---
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_spec_specific_consts.h
(original)
+++
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_spec_specific_consts.h
Tue Aug 22 23:15:12 2006
@@ -76,6 +76,11 @@
axis2_char_t *spec_version);
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+sandesha2_spec_specific_consts_get_ack_req_soap_action(
+ const axis2_env_t *env,
+ axis2_char_t *spec_version);
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
sandesha2_spec_specific_consts_get_create_seq_res_action(
const axis2_env_t *env,
axis2_char_t *spec_version);
@@ -96,7 +101,7 @@
axis2_char_t *spec_version);
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-sandesha2_spec_specific_consts_get_ack_request_action(
+sandesha2_spec_specific_consts_get_ack_req_action(
const axis2_env_t *env,
axis2_char_t *spec_version);
@@ -126,6 +131,16 @@
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
sandesha2_spec_specific_consts_get_teminate_seq_res_action(
+ const axis2_env_t *env,
+ axis2_char_t *spec_version);
+
+axis2_char_t *AXIS2_CALL
+sandesha2_spec_specific_consts_get_seq_ack_action(
+ const axis2_env_t *env,
+ axis2_char_t *spec_version);
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+sandesha2_spec_specific_consts_get_seq_ack_soap_action(
const axis2_env_t *env,
axis2_char_t *spec_version);
Modified: webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h Tue Aug 22
23:15:12 2006
@@ -131,34 +131,61 @@
* @return internal_seq_id
*/
AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-sandesha2_utils_get_internal_seq_id(const axis2_env_t *env,
- axis2_char_t *to,
- axis2_char_t *seq_key);
+sandesha2_utils_get_internal_seq_id(
+ const axis2_env_t *env,
+ axis2_char_t *to,
+ axis2_char_t *seq_key);
AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
-sandesha2_utils_create_new_related_msg_ctx(const axis2_env_t *env,
- sandesha2_msg_ctx_t *ref_rm_msg,
- axis2_op_t *op);
+sandesha2_utils_create_new_related_msg_ctx(
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *ref_rm_msg,
+ axis2_op_t *op);
AXIS2_EXTERN int AXIS2_CALL
-sandesha2_utils_get_soap_version(const axis2_env_t *env,
- axiom_soap_envelope_t *envelope);
+sandesha2_utils_get_soap_version(
+ const axis2_env_t *env,
+ axiom_soap_envelope_t *envelope);
AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-sandesha2_utils_trim_string(const axis2_env_t *env,
- axis2_char_t *orig_string);
+sandesha2_utils_trim_string(
+ const axis2_env_t *env,
+ axis2_char_t *orig_string);
AXIS2_EXTERN axis2_bool_t AXIS2_CALL
-sandesha2_utils_is_retriable_on_faults(const axis2_env_t *env,
- axis2_msg_ctx_t *msg_ctx);
+sandesha2_utils_is_retriable_on_faults(
+ const axis2_env_t *env,
+ axis2_msg_ctx_t *msg_ctx);
AXIS2_EXTERN axis2_bool_t AXIS2_CALL
-sandesha2_utils_is_rm_global_msg(const axis2_env_t *env,
- axis2_msg_ctx_t *msg_ctx);
+sandesha2_utils_is_rm_global_msg(
+ const axis2_env_t *env,
+ axis2_msg_ctx_t *msg_ctx);
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-sandesha2_utils_get_seq_id_from_rm_msg_ctx(const axis2_env_t *env,
- sandesha2_msg_ctx_t *rm_msg_ctx);
+sandesha2_utils_get_seq_id_from_rm_msg_ctx(
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *rm_msg_ctx);
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+sandesha2_spec_specific_consts_get_ack_req_soap_action(
+ const axis2_env_t *env,
+ axis2_char_t *spec_version);
+
+/**
+ * Used to convert a message number list (a comma seperated list of message
+ * numbers) into a set of Acknowledgement Ranges. This breaks the list, sort
+ * the items and group them to create the ack_range objects.
+ *
+ * @param msg_no_str
+ * @return
+ */
+AXIS2_EXTERN axis2_array_list_t *AXIS2_CALL
+sandesha2_utils_get_ack_range_list(
+ const axis2_env_t *env,
+ axis2_char_t *msg_no_str,
+ axis2_char_t *rm_ns_value);
+
/** @} */
#ifdef __cplusplus
}
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=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h Tue Aug 22
23:15:12 2006
@@ -104,6 +104,20 @@
sandesha2_msg_ctx_t *ref_rm_msg,
axis2_msg_ctx_t *out_msg,
sandesha2_storage_mgr_t *storage_mgr);
+
+/**
+ * Adds an ack message to the given application message.
+ *
+ * @param app_msg
+ * @param sequence_id
+ */
+axis2_status_t AXIS2_CALL
+sandesha2_msg_creator_add_ack_msg(
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *app_msg,
+ axis2_char_t *seq_id,
+ sandesha2_storage_mgr_t *storage_mgr);
+
/** @} */
#ifdef __cplusplus
}
Modified: webservices/sandesha/trunk/c/src/client/client.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/client/client.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/client/client.c (original)
+++ webservices/sandesha/trunk/c/src/client/client.c Tue Aug 22 23:15:12 2006
@@ -155,7 +155,7 @@
to_epr = AXIS2_OPTIONS_GET_TO(options, env);
if(to_epr == NULL)
{
- AXIS2_SANDESHA2_ERROR_SET(env->error,
+ AXIS2_ERROR_SET(env->error,
SANDESHA2_ERROR_TO_ADDRESS_NOT_SET, AXIS2_FAILURE);
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
"To address is not set.");
@@ -166,7 +166,7 @@
svc_ctx = (axis2_svc_ctx_t *)AXIS2_SVC_CLIENT_GET_SVC_CTX(svc_client, env);
if(svc_ctx == NULL)
{
- AXIS2_SANDESHA2_ERROR_SET(env->error, SANDESHA2_ERROR_SVC_CTX_NULL,
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SVC_CTX_NULL,
AXIS2_FAILURE);
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
"Service Context is NULL.");
@@ -1097,7 +1097,7 @@
ack_requested_header_block = AXIOM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(
element, env, qname, node, &ack_requested_header_block_node);
old_action = AXIS2_OPTIONS_GET_ACTION(options, env);
- action = sandesha2_spec_specific_consts_get_ack_request_action(env,
+ action = sandesha2_spec_specific_consts_get_ack_req_action(env,
rm_spec_version);
AXIS2_OPTIONS_SET_ACTION(options, env, action);
AXIS2_SVC_CLIENT_ADD_HEADER(svc_client, env,
ack_requested_header_block_node);
Modified:
webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c
(original)
+++ webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c Tue
Aug 22 23:15:12 2006
@@ -195,6 +195,7 @@
if(AXIS2_FALSE == is_rm_global_msg)
return AXIS2_SUCCESS;
rm_msg_ctx = sandesha2_msg_init_init_msg(env, msg_ctx);
+ printf("came\n");
dropped = sandesha2_global_in_handler_drop_if_duplicate(handler, env,
rm_msg_ctx, storage_mgr);
if(AXIS2_TRUE == dropped)
Modified: webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c (original)
+++ webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c Tue Aug 22
23:15:12 2006
@@ -86,7 +86,7 @@
sandesha2_transaction_t *transaction = NULL;
sandesha2_msg_ctx_t *rm_msg_ctx = NULL;
sandesha2_msg_processor_t *msg_processor = NULL;
-
+
AXIS2_ENV_CHECK( env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE);
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=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c (original)
+++ webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c Tue Aug
22 23:15:12 2006
@@ -160,6 +160,7 @@
dummy_msg = AXIS2_TRUE;
}
msg_type = SANDESHA2_MSG_CTX_GET_MSG_TYPE(rm_msg_ctx, env);
+ printf("msg_type1:%d\n", msg_type);
if(msg_type == SANDESHA2_MSG_TYPE_UNKNOWN)
{
axis2_msg_ctx_t *req_msg_ctx = NULL;
@@ -195,7 +196,9 @@
rm_msg_ctx);
}
if(msg_processor)
+ {
SANDESHA2_MSG_PROCESSOR_PROCESS_OUT_MSG(msg_processor, env,
rm_msg_ctx);
+ }
if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
/* Message should not be sent in an exception situation */
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=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
(original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Tue Aug
22 23:15:12 2006
@@ -496,8 +496,9 @@
sandesha2_utils_start_invoker_for_seq(env, conf_ctx, str_seq_id);
}
/* test code uncomment this when send_ack_if_reqd method function
correctly */
- /*sandesha2_app_msg_processor_send_ack_if_reqd(msg_processor, env, msg_ctx,
- msgs_str, storage_man);*/
+ sandesha2_app_msg_processor_send_ack_if_reqd(msg_processor, env, msg_ctx,
+ msgs_str, storage_man);
+ printf("came1\n");
return AXIS2_SUCCESS;
}
@@ -535,7 +536,8 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE);
-
+
+ printf("came2\n");
msg_ctx1 = SANDESHA2_MSG_CTX_GET_MSG_CTX(msg_ctx, env);
conf_ctx = AXIS2_MSG_CTX_GET_CONF_CTX(msg_ctx1, env);
/* TODO setting up fault callback */
Modified: webservices/sandesha/trunk/c/src/msgprocessors/msg_processor_creator.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/msg_processor_creator.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/msg_processor_creator.c
(original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/msg_processor_creator.c Tue
Aug 22 23:15:12 2006
@@ -43,6 +43,7 @@
int msg_type = -1;
msg_type = SANDESHA2_MSG_CTX_GET_MSG_TYPE(rm_msg_ctx, env);
+ printf("msg_type2:%d\n", msg_type);
switch(msg_type)
{
case SANDESHA2_MSG_TYPE_CREATE_SEQ:
Modified: webservices/sandesha/trunk/c/src/util/ack_mgr.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/ack_mgr.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/ack_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/ack_mgr.c Tue Aug 22 23:15:12 2006
@@ -91,11 +91,7 @@
property = AXIS2_MSG_CTX_GET_PROPERTY(ref_msg, env, AXIS2_WSA_VERSION,
AXIS2_FALSE);
if(property)
- wsa_version = AXIS2_PROPERTY_GET_VALUE(property, env);
- property = axis2_property_create(env);
- AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
- AXIS2_PROPERTY_SET_VALUE(property, env, AXIS2_STRDUP(wsa_version, env));
- AXIS2_MSG_CTX_SET_PROPERTY(ack_msg_ctx, env, AXIS2_WSA_VERSION, property,
+ AXIS2_MSG_CTX_SET_PROPERTY(ack_msg_ctx, env, AXIS2_WSA_VERSION,
property,
AXIS2_FALSE);
property = axis2_property_create(env);
@@ -114,10 +110,25 @@
AXIS2_MSG_CTX_GET_SOAP_ENVELOPE(ref_msg, env)));
AXIS2_MSG_CTX_SET_SOAP_ENVELOPE(ack_msg_ctx, env, soap_env);
AXIS2_MSG_CTX_SET_TO(ack_msg_ctx, env, acks_to);
+ /* Adding the sequence acknowledgement part */
+ sandesha2_msg_creator_add_ack_msg(env, ack_rm_msg, seq_id, storage_mgr);
+ AXIS2_MSG_CTX_SET_PROPERTY(ack_msg_ctx, env, AXIS2_TRANSPORT_IN, NULL,
+ AXIS2_FALSE);
addr_ns_uri = sandesha2_utils_get_seq_property(env, seq_id,
SANDESHA2_SEQ_PROP_ADDRESSING_NAMESPACE_VALUE,
storage_mgr);
+ if(addr_ns_uri)
+ {
+ property = axis2_property_create(env);
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
+ AXIS2_PROPERTY_SET_VALUE(property, env, AXIS2_STRDUP(addr_ns_uri,
env));
+ }
anon_uri = sandesha2_spec_specific_consts_get_anon_uri(env, addr_ns_uri);
+ if(property)
+ {
+ AXIS2_MSG_CTX_SET_PROPERTY(ack_msg_ctx, env, AXIS2_WSA_VERSION,
property,
+ AXIS2_FALSE);
+ }
if(0 == AXIS2_STRCMP(acks_to_str, anon_uri))
{
axis2_ctx_t *ref_ctx = NULL;
@@ -170,8 +181,6 @@
SANDESHA2_SENDER_BEAN_SET_RESEND(ack_bean, env, AXIS2_FALSE);
SANDESHA2_SENDER_BEAN_SET_SEQ_ID(ack_bean, env, seq_id);
SANDESHA2_SENDER_BEAN_SET_SEND(ack_bean, env, AXIS2_TRUE);
- SANDESHA2_SENDER_BEAN_SET_MSG_TYPE(ack_bean, env,
- SANDESHA2_MSG_TYPE_ACK);
property = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
@@ -179,6 +188,9 @@
SANDESHA2_VALUE_FALSE, env));
AXIS2_MSG_CTX_SET_PROPERTY(ack_msg_ctx, env,
SANDESHA2_QUALIFIED_FOR_SENDING, property,
AXIS2_FALSE);
+ SANDESHA2_SENDER_BEAN_SET_MSG_TYPE(ack_bean, env,
+ SANDESHA2_MSG_TYPE_ACK);
+
ack_int_bean = sandesha2_utils_get_property_bean_from_op(env,
AXIS2_MSG_CTX_GET_OP(ref_msg, env));
ack_interval = SANDESHA2_PROPERTY_BEAN_GET_ACK_INTERVAL(ack_int_bean,
@@ -236,7 +248,7 @@
AXIS2_MSG_CTX_SET_TRANSPORT_OUT_DESC(ack_msg_ctx, env, trans_out);
ret_rm_msg = sandesha2_msg_init_init_msg(env, ack_msg_ctx);
- sandesha2_utils_start_invoker_for_seq(env, conf_ctx, seq_id);
+ sandesha2_utils_start_sender_for_seq(env, conf_ctx, seq_id);
AXIS2_MSG_CTX_SET_PAUSED(ref_msg, env, AXIS2_TRUE);
return ret_rm_msg;
}
Modified: webservices/sandesha/trunk/c/src/util/error.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/error.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/error.c (original)
+++ webservices/sandesha/trunk/c/src/util/error.c Tue Aug 22 23:15:12 2006
@@ -129,7 +129,9 @@
sandesha2_error_messages[SANDESHA2_ERROR_CANNOT_SEND_ACK_REQUEST_MESSAGE_SINCE_IS_NOT_ACTIVE]
=
"Canot send the ackRequest message since it is not active";
sandesha2_error_messages[SANDESHA2_ERROR_SPEC_VERSION_DOES_NOT_DEFINE_A_ACK_REQUEST_ACTION]
=
- "this spec version does not define a ackRequest action";
+ "This spec version does not define a ackRequest action";
+
sandesha2_error_messages[SANDESHA2_ERROR_SPEC_VERSION_DOES_NOT_DEFINE_A_ACK_REQUEST_SOAP_ACTION]
=
+ "This spec version does not define a ackRequest soap action";
sandesha2_error_messages[SANDESHA2_ERROR_CANNOT_FIND_SEQ_ID] =
"Cannot find the sequence id";
sandesha2_error_messages[SANDESHA2_ERROR_RM_VERSION_DOES_NOT_ALLOW_SEQ_CLOSING]
=
Modified: webservices/sandesha/trunk/c/src/util/msg_creator.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/msg_creator.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/msg_creator.c (original)
+++ webservices/sandesha/trunk/c/src/util/msg_creator.c Tue Aug 22 23:15:12 2006
@@ -20,6 +20,7 @@
#include <sandesha2_spec_specific_consts.h>
#include <sandesha2_utils.h>
#include <sandesha2_ack_mgr.h>
+#include <sandesha2_seq_ack.h>
#include <sandesha2_constants.h>
#include <sandesha2_msg_ctx.h>
#include <sandesha2_create_seq.h>
@@ -44,6 +45,7 @@
#include <axis2_addr.h>
#include <axis2_options.h>
#include <axiom_soap_envelope.h>
+#include <axiom_soap_header.h>
#include <axiom_soap_body.h>
#include <axiom_node.h>
#include <sandesha2/sandesha2_terminate_seq_res.h>
@@ -786,3 +788,115 @@
}
return AXIS2_SUCCESS;
}
+
+/**
+ * Adds an ack message to the given application message.
+ *
+ * @param app_msg
+ * @param sequence_id
+ */
+axis2_status_t AXIS2_CALL
+sandesha2_msg_creator_add_ack_msg(
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *app_msg,
+ axis2_char_t *seq_id,
+ sandesha2_storage_mgr_t *storage_mgr)
+{
+ axiom_soap_envelope_t *envelope = NULL;
+ axiom_soap_header_t *soap_header = NULL;
+ axis2_conf_ctx_t *conf_ctx = NULL;
+ axis2_char_t *rm_version = NULL;
+ axis2_char_t *rm_ns_value = NULL;
+ axis2_char_t *msg_no_list = NULL;
+ axis2_char_t *ack_req_action = NULL;
+ axis2_char_t *ack_req_soap_action = NULL;
+ axis2_char_t *str_value = NULL;
+ axis2_char_t *uuid = NULL;
+ sandesha2_identifier_t *id = NULL;
+ sandesha2_seq_ack_t *seq_ack = NULL;
+ sandesha2_seq_property_mgr_t *seq_prop_mgr = NULL;
+ sandesha2_seq_property_bean_t *seq_bean = NULL;
+ sandesha2_seq_property_bean_t *seq_closed_bean = NULL;
+ axis2_msg_ctx_t *msg_ctx = NULL;
+ axis2_array_list_t *ack_range_list = NULL;
+ int i = 0, size = 0;
+
+ envelope = SANDESHA2_MSG_CTX_GET_SOAP_ENVELOPE(app_msg, env);
+ if(NULL == envelope)
+ {
+ SANDESHA2_ERROR_SET(env->error,
+ AXIS2_ERROR_NULL_SOAP_ENVELOPE_IN_MSG_CTX, AXIS2_FAILURE);
+ return AXIS2_FAILURE;
+ }
+ msg_ctx = SANDESHA2_MSG_CTX_GET_MSG_CTX(app_msg, env);
+ conf_ctx = AXIS2_MSG_CTX_GET_CONF_CTX(msg_ctx, env);
+ rm_version = sandesha2_utils_get_rm_version(env, seq_id, storage_mgr);
+ if(NULL == rm_version)
+ {
+ AXIS2_ERROR_SET(env->error,
+ SANDESHA2_ERROR_CANNOT_FIND_RM_VERSION_OF_GIVEN_MSG,
+ AXIS2_FAILURE);
+ return AXIS2_FAILURE;
+ }
+ rm_ns_value = sandesha2_spec_specific_consts_get_rm_ns_val(env,
rm_version);
+ seq_ack = sandesha2_seq_ack_create(env, rm_ns_value);
+ id = sandesha2_identifier_create(env, rm_ns_value);
+ SANDESHA2_IDENTIFIER_SET_IDENTIFIER(id, env, seq_id);
+ SANDESHA2_SEQ_ACK_SET_IDENTIFIER(seq_ack, env, id);
+ seq_prop_mgr = SANDESHA2_STORAGE_MGR_GET_SEQ_PROPERTY_MGR(storage_mgr,
env);
+ seq_bean = SANDESHA2_SEQ_PROPERTY_MGR_RETRIEVE(seq_prop_mgr, env, seq_id,
+ SANDESHA2_SEQ_PROP_SERVER_COMPLETED_MESSAGES);
+ msg_no_list = (axis2_char_t *) SANDESHA2_SEQ_PROPERTY_BEAN_GET_VALUE(
+ seq_bean, env);
+ ack_range_list = sandesha2_utils_get_ack_range_list(env, msg_no_list,
+ rm_ns_value);
+ if(ack_range_list)
+ size = AXIS2_ARRAY_LIST_SIZE(ack_range_list, env);
+ for(i = 0; i < size; i++)
+ {
+ sandesha2_ack_range_t *ack_range = NULL;
+
+ ack_range = AXIS2_ARRAY_LIST_GET(ack_range_list, env, i);
+ SANDESHA2_SEQ_ACK_ADD_ACK_RANGE(seq_ack, env, ack_range);
+ }
+ seq_closed_bean = SANDESHA2_SEQ_PROPERTY_MGR_RETRIEVE(seq_prop_mgr, env,
seq_id,
+ SANDESHA2_SEQ_PROP_SEQ_CLOSED);
+ if(seq_closed_bean)
+ str_value = SANDESHA2_SEQ_PROPERTY_BEAN_GET_VALUE(seq_closed_bean,
env);
+ if(seq_closed_bean && 0 == AXIS2_STRCMP(SANDESHA2_VALUE_TRUE, str_value))
+ {
+ axis2_bool_t is_allowed = AXIS2_FALSE;
+
+ /* sequence is closed. so add the 'Final' part. */
+ is_allowed = sandesha2_spec_specific_consts_is_ack_final_allowed(env,
+ rm_version);
+ if(AXIS2_TRUE == is_allowed)
+ {
+ sandesha2_ack_final_t *ack_final = NULL;
+
+ ack_final = sandesha2_ack_final_create(env,rm_ns_value);
+ SANDESHA2_SEQ_ACK_SET_ACK_FINAL(seq_ack, env, ack_final);
+ }
+ }
+ SANDESHA2_MSG_CTX_SET_MSG_PART(app_msg, env,
+ SANDESHA2_MSG_PART_SEQ_ACKNOWLEDGEMENT,
+ (sandesha2_iom_rm_part_t *) seq_ack);
+ soap_header = AXIOM_SOAP_ENVELOPE_GET_HEADER(envelope, env);
+
+ SANDESHA2_IOM_RM_ELEMENT_TO_OM_NODE(seq_ack, env, soap_header);
+
+ rm_version = sandesha2_utils_get_rm_version(env, seq_id, storage_mgr);
+ ack_req_action = sandesha2_spec_specific_consts_get_seq_ack_action(env,
+ rm_version);
+ SANDESHA2_MSG_CTX_SET_WSA_ACTION(app_msg, env, ack_req_action);
+ ack_req_soap_action =
+ sandesha2_spec_specific_consts_get_seq_ack_soap_action(env,
+ rm_version);
+ SANDESHA2_MSG_CTX_SET_SOAP_ACTION(app_msg, env, ack_req_soap_action);
+ uuid = axis2_uuid_gen(env);
+ SANDESHA2_MSG_CTX_SET_MSG_ID(app_msg, env, uuid);
+
+ return AXIS2_SUCCESS;
+
+}
+
Modified: webservices/sandesha/trunk/c/src/util/seq_mgr.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/seq_mgr.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/seq_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/seq_mgr.c Tue Aug 22 23:15:12 2006
@@ -150,7 +150,7 @@
SANDESHA2_NEXT_MSG_MGR_INSERT(next_msg_mgr, env, next_msg_bean);
/* Message to invoke. This will apply for only in-order invocations */
- sandesha2_utils_start_sender_for_seq(env, conf_ctx, seq_id);
+ /*sandesha2_utils_start_sender_for_seq(env, conf_ctx, seq_id);*/
/* Setting the RM Spec version for this sequence */
create_seq_msg_action = SANDESHA2_MSG_CTX_GET_WSA_ACTION(create_seq_msg,
env);
if(create_seq_msg_action == NULL)
Modified: webservices/sandesha/trunk/c/src/util/spec_specific_consts.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/spec_specific_consts.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/spec_specific_consts.c (original)
+++ webservices/sandesha/trunk/c/src/util/spec_specific_consts.c Tue Aug 22
23:15:12 2006
@@ -204,7 +204,7 @@
axis2_char_t *AXIS2_CALL
-sandesha2_spec_specific_consts_get_ack_request_action(
+sandesha2_spec_specific_consts_get_ack_req_action(
const axis2_env_t *env,
axis2_char_t *spec_version)
{
@@ -273,6 +273,29 @@
return NULL;
}
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+sandesha2_spec_specific_consts_get_ack_req_soap_action(
+ const axis2_env_t *env,
+ axis2_char_t *spec_version)
+{
+ if(0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_0, spec_version))
+ {
+ AXIS2_ERROR_SET(env->error,
+
SANDESHA2_ERROR_SPEC_VERSION_DOES_NOT_DEFINE_A_ACK_REQUEST_SOAP_ACTION,
+ AXIS2_FAILURE);
+ return NULL;
+ }
+ else if(0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
+ {
+ return SANDESHA2_SPEC_2005_10_SOAP_ACTION_ACK_REQUEST;
+ }
+ else
+ {
+ AXIS2_ERROR_SET(env->error,
SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
+ AXIS2_FAILURE);
+ return NULL;
+ }
+}
AXIS2_EXTERN axis2_bool_t AXIS2_CALL
sandesha2_spec_specific_consts_is_term_seq_res_reqd(
@@ -309,3 +332,43 @@
return NULL;
}
+
+axis2_char_t *AXIS2_CALL
+sandesha2_spec_specific_consts_get_seq_ack_action(
+ const axis2_env_t *env,
+ axis2_char_t *spec_version)
+{
+ if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_0, spec_version))
+ {
+ return SANDESHA2_SPEC_2005_02_ACTION_SEQ_ACKNOWLEDGEMENT;
+ }
+ else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
+ return SANDESHA2_SPEC_2005_10_ACTION_SEQ_ACKNOWLEDGEMENT;
+ else
+ AXIS2_ERROR_SET(env->error,
SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
+ AXIS2_FAILURE);
+ return NULL;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+sandesha2_spec_specific_consts_get_seq_ack_soap_action(
+ const axis2_env_t *env,
+ axis2_char_t *spec_version)
+{
+ if(0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_0, spec_version))
+ {
+ return SANDESHA2_SPEC_2005_02_SOAP_ACTION_SEQ_ACKNOWLEDGEMENT;
+ }
+ else if(0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
+ {
+ return SANDESHA2_SPEC_2005_10_SOAP_ACTION_SEQ_ACKNOWLEDGEMENT;
+ }
+ else
+ {
+ AXIS2_ERROR_SET(env->error,
SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
+ AXIS2_FAILURE);
+ return NULL;
+ }
+}
+
+
Modified: webservices/sandesha/trunk/c/src/util/utils.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/utils.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/utils.c (original)
+++ webservices/sandesha/trunk/c/src/util/utils.c Tue Aug 22 23:15:12 2006
@@ -41,6 +41,18 @@
#include <sandesha2/sandesha2_close_seq.h>
#include <sandesha2/sandesha2_close_seq_res.h>
+
+static axis2_array_list_t *
+get_sorted_msg_no_list(
+ const axis2_env_t *env,
+ axis2_char_t *msg_no_str,
+ axis2_char_t *delim);
+
+static axis2_array_list_t *
+sandesha2_utils_sort(
+ const axis2_env_t *env,
+ axis2_array_list_t *list);
+
AXIS2_EXTERN axis2_status_t AXIS2_CALL
sandesha2_utils_remove_soap_body_part(const axis2_env_t *env,
axiom_soap_envelope_t *envelope, axis2_qname_t *qname)
@@ -261,7 +273,7 @@
{
axis2_char_t *temp_element = AXIS2_STRDUP(temp_str, env);
AXIS2_ARRAY_LIST_ADD(ret, env, temp_element);
- temp_str = strtok(dup_str, ",");
+ temp_str = strtok(NULL, ",");
}
AXIS2_FREE(env->allocator, dup_str);
return ret;
@@ -544,6 +556,7 @@
axis2_property_t *property = NULL;
axis2_char_t *addr_ver = NULL;
axis2_char_t *paused_phase_name = NULL;
+ axis2_svc_grp_t *svc_grp = NULL;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, ref_rm_msg, NULL);
@@ -560,11 +573,10 @@
options = axis2_options_create(env);
AXIS2_MSG_CTX_SET_OPTIONS(new_msg, env, options);
-
- if(NULL != AXIS2_MSG_CTX_GET_SVC_GRP(ref_msg, env))
+ svc_grp = AXIS2_MSG_CTX_GET_SVC_GRP(ref_msg, env);
+ if(NULL != svc_grp)
{
- AXIS2_MSG_CTX_SET_SVC_GRP(new_msg, env,
- AXIS2_MSG_CTX_GET_SVC_GRP(ref_msg, env));
+ AXIS2_MSG_CTX_SET_SVC_GRP(new_msg, env, svc_grp);
if(NULL != AXIS2_MSG_CTX_GET_SVC_GRP_CTX(ref_msg, env))
{
AXIS2_MSG_CTX_SET_SVC_GRP_CTX(new_msg, env,
@@ -709,8 +721,9 @@
}
AXIS2_EXTERN int AXIS2_CALL
-sandesha2_utils_get_soap_version(const axis2_env_t *env,
- axiom_soap_envelope_t *envelope)
+sandesha2_utils_get_soap_version(
+ const axis2_env_t *env,
+ axiom_soap_envelope_t *envelope)
{
AXIS2_ENV_CHECK(env, -1);
AXIS2_PARAM_CHECK(env->error, envelope, -1);
@@ -924,3 +937,141 @@
/*TODO */
return AXIS2_SUCCESS;
}
+
+/**
+ * Used to convert a message number list (a comma seperated list of message
+ * numbers) into a set of Acknowledgement Ranges. This breaks the list, sort
+ * the items and group them to create the ack_range objects.
+ *
+ * @param msg_no_str
+ * @return
+ */
+AXIS2_EXTERN axis2_array_list_t *AXIS2_CALL
+sandesha2_utils_get_ack_range_list(
+ const axis2_env_t *env,
+ axis2_char_t *msg_no_str,
+ axis2_char_t *rm_ns_value)
+{
+ axis2_array_list_t *ack_ranges = NULL;
+ axis2_array_list_t *sorted_msg_no_list = NULL;
+ int i = 0, size = 0;
+ long lower = 0;
+ long upper = 0;
+ axis2_bool_t completed = AXIS2_TRUE;
+
+ ack_ranges = axis2_array_list_create(env, 0);
+ sorted_msg_no_list = get_sorted_msg_no_list(env, msg_no_str, ",");
+ if(sorted_msg_no_list)
+ size = AXIS2_ARRAY_LIST_SIZE(sorted_msg_no_list, env);
+ for(i = 0; i < size; i ++)
+ {
+ long *temp = AXIS2_ARRAY_LIST_GET(sorted_msg_no_list, env, i);
+ if(lower == 0)
+ {
+ lower = *temp;
+ upper = *temp;
+ completed = AXIS2_FALSE;
+ }
+ else if(*temp == (upper + 1))
+ {
+ upper = *temp;
+ completed = AXIS2_FALSE;
+ }
+ else
+ {
+ sandesha2_ack_range_t *ack_range = NULL;
+
+ /* add ack_range (lower, upper) */
+ ack_range = sandesha2_ack_range_create(env, rm_ns_value);
+ SANDESHA2_ACK_RANGE_SET_LOWER_VALUE(ack_range, env, lower);
+ SANDESHA2_ACK_RANGE_SET_UPPER_VALUE(ack_range, env, upper);
+ AXIS2_ARRAY_LIST_ADD(ack_ranges, env, ack_range);
+ lower = *temp;
+ upper = *temp;
+ completed = AXIS2_FALSE;
+ }
+ }
+ if(AXIS2_TRUE != completed)
+ {
+ sandesha2_ack_range_t *ack_range = NULL;
+
+ ack_range = sandesha2_ack_range_create(env, rm_ns_value);
+ SANDESHA2_ACK_RANGE_SET_LOWER_VALUE(ack_range, env, lower);
+ SANDESHA2_ACK_RANGE_SET_UPPER_VALUE(ack_range, env, upper);
+ AXIS2_ARRAY_LIST_ADD(ack_ranges, env, ack_range);
+ completed = AXIS2_FALSE;
+ }
+ /*AXIS2_ARRAY_LIST_FREE(sorted_msg_no_list, env);*/
+ return ack_ranges;
+}
+
+static axis2_array_list_t *
+get_sorted_msg_no_list(
+ const axis2_env_t *env,
+ axis2_char_t *msg_no_str,
+ axis2_char_t *delim)
+{
+ axis2_array_list_t *msg_numbers = NULL;
+ axis2_array_list_t *sorted_msg_no_list = NULL;
+ axis2_char_t *temp_str = NULL;
+
+ msg_numbers = axis2_array_list_create(env, 0);
+ temp_str = strtok(msg_no_str, delim);
+ while(NULL != temp_str)
+ {
+ long long_val = 0;
+
+ long_val = atol(temp_str);
+ AXIS2_ARRAY_LIST_ADD(msg_numbers, env, &long_val);
+ temp_str = strtok(NULL, delim);
+ }
+ sorted_msg_no_list = sandesha2_utils_sort(env, msg_numbers);
+ /*AXIS2_ARRAY_LIST_FREE(msg_numbers, env);*/
+ return sorted_msg_no_list;
+}
+
+static axis2_array_list_t *
+sandesha2_utils_sort(
+ const axis2_env_t *env,
+ axis2_array_list_t *list)
+{
+ axis2_array_list_t *sorted_list = NULL;
+ long max = 0;
+ int i = 0, size = 0;
+ long j = 0;
+
+ sorted_list = axis2_array_list_create(env, 0);
+ if(list)
+ size = AXIS2_ARRAY_LIST_SIZE(list, env);
+ for(i = 0; i < size; i++)
+ {
+ long *temp_long = NULL;
+
+ temp_long = (long *) AXIS2_ARRAY_LIST_GET(list, env, i);
+ if(*temp_long > max)
+ max = *temp_long;
+ }
+ for(j = 1; j <= max; j++)
+ {
+ long temp = 0;
+ axis2_bool_t contains = AXIS2_FALSE;
+
+ temp = j;
+ for(i = 0; i < size; i++)
+ {
+ long *value = NULL;
+ value = AXIS2_ARRAY_LIST_GET(list, env, i);
+ if(*value == temp)
+ {
+ contains = AXIS2_TRUE;
+ break;
+ }
+ }
+ if(AXIS2_TRUE == contains)
+ {
+ AXIS2_ARRAY_LIST_ADD(sorted_list, env, &temp);
+ }
+ }
+ return sorted_list;
+}
+
Modified: webservices/sandesha/trunk/c/src/wsrm/ack_range.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/ack_range.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/ack_range.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/ack_range.c Tue Aug 22 23:15:12 2006
@@ -294,8 +294,10 @@
}
axis2_bool_t AXIS2_CALL
-sandesha2_ack_range_is_namespace_supported(sandesha2_iom_rm_element_t
*ack_range,
- const axis2_env_t *env, axis2_char_t *namespace)
+sandesha2_ack_range_is_namespace_supported(
+ sandesha2_iom_rm_element_t *ack_range,
+ const axis2_env_t *env,
+ axis2_char_t *namespace)
{
sandesha2_ack_range_impl_t *ack_range_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
@@ -303,7 +305,7 @@
ack_range_impl = SANDESHA2_INTF_TO_IMPL(ack_range);
if(0 == AXIS2_STRCMP(namespace, SANDESHA2_SPEC_2005_02_NS_URI))
{
- return AXIS2_FALSE;
+ return AXIS2_TRUE;
}
if(0 == AXIS2_STRCMP(namespace, SANDESHA2_SPEC_2005_10_NS_URI))
{
Modified: webservices/sandesha/trunk/c/src/wsrm/seq_ack.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/seq_ack.c?rev=433926&r1=433925&r2=433926&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/seq_ack.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/seq_ack.c Tue Aug 22 23:15:12 2006
@@ -467,14 +467,14 @@
AXIOM_SOAP_HEADER_BLOCK_SET_MUST_UNDERSTAND_WITH_BOOL(sa_block, env,
seq_ack_impl->must_understand);
sa_node = AXIOM_SOAP_HEADER_BLOCK_GET_BASE_NODE(sa_block, env);
- for(i = 0; i < AXIS2_ARRY_LIST_SIZE(seq_ack_impl->ack_range_list, env);
i++)
+ for(i = 0; i < AXIS2_ARRAY_LIST_SIZE(seq_ack_impl->ack_range_list, env);
i++)
{
sandesha2_ack_range_t *ack_range = NULL;
ack_range = (sandesha2_ack_range_t*)AXIS2_ARRAY_LIST_GET(
seq_ack_impl->ack_range_list, env, i);
SANDESHA2_IOM_RM_ELEMENT_TO_OM_NODE(ack_range, env, sa_node);
}
- for(i = 0; i < AXIS2_ARRY_LIST_SIZE(seq_ack_impl->nack_list, env); i++)
+ for(i = 0; i < AXIS2_ARRAY_LIST_SIZE(seq_ack_impl->nack_list, env); i++)
{
sandesha2_nack_t *nack = NULL;
nack = (sandesha2_nack_t*)AXIS2_ARRAY_LIST_GET(
@@ -483,9 +483,9 @@
}
rm_spec_ver = sandesha2_spec_specific_consts_get_spec_ver_str(env,
seq_ack_impl->ns_val);
- if(NULL == seq_ack_impl->ack_none && 0 == AXIS2_ARRY_LIST_SIZE(
+ if(NULL == seq_ack_impl->ack_none && 0 == AXIS2_ARRAY_LIST_SIZE(
seq_ack_impl->ack_range_list, env) &&
- 0 == AXIS2_ARRY_LIST_SIZE(seq_ack_impl->nack_list, env)
+ 0 == AXIS2_ARRAY_LIST_SIZE(seq_ack_impl->nack_list,
env)
&& AXIS2_TRUE ==
sandesha2_spec_specific_consts_is_ack_none_allowed(env,
rm_spec_ver))
@@ -500,9 +500,9 @@
if(NULL != seq_ack_impl->ack_none)
{
if(AXIS2_TRUE !=
sandesha2_spec_specific_consts_is_ack_none_allowed(env,
- rm_spec_ver) || 0 != AXIS2_ARRY_LIST_SIZE(
+ rm_spec_ver) || 0 != AXIS2_ARRAY_LIST_SIZE(
seq_ack_impl->ack_range_list, env) || 0 !=
- AXIS2_ARRY_LIST_SIZE(seq_ack_impl->nack_list, env))
+ AXIS2_ARRAY_LIST_SIZE(seq_ack_impl->nack_list, env))
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_ACK_NONE_NOT_ALLOWED,
AXIS2_FAILURE);
@@ -517,7 +517,7 @@
if(NULL != seq_ack_impl->ack_final)
{
if(AXIS2_TRUE != sandesha2_spec_specific_consts_is_ack_final_allowed(
- env, rm_spec_ver) || 0 != AXIS2_ARRY_LIST_SIZE(
+ env, rm_spec_ver) || 0 != AXIS2_ARRAY_LIST_SIZE(
seq_ack_impl->nack_list, env))
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_ACK_FINAL_NOT_ALLOWED,
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]