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 2006/11/20 08:28:55 UTC
svn commit: r477088 - in /webservices/sandesha/trunk/c: ./ include/ src/
src/msgprocessors/ src/storage/beans/ src/util/ src/wsrm/
Author: damitha
Date: Sun Nov 19 23:28:53 2006
New Revision: 477088
URL: http://svn.apache.org/viewvc?view=rev&rev=477088
Log:
implementing MakeConnection functionality
Modified:
webservices/sandesha/trunk/c/configure.ac
webservices/sandesha/trunk/c/include/sandesha2_address.h
webservices/sandesha/trunk/c/include/sandesha2_constants.h
webservices/sandesha/trunk/c/include/sandesha2_error.h
webservices/sandesha/trunk/c/include/sandesha2_iom_rm_element.h
webservices/sandesha/trunk/c/include/sandesha2_make_connection.h
webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h
webservices/sandesha/trunk/c/include/sandesha2_next_msg_bean.h
webservices/sandesha/trunk/c/include/sandesha2_spec_specific_consts.h
webservices/sandesha/trunk/c/include/sandesha2_utils.h
webservices/sandesha/trunk/c/src/Makefile.am
webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/make_connection_msg_processor.c
webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c
webservices/sandesha/trunk/c/src/util/error.c
webservices/sandesha/trunk/c/src/util/fault_mgr.c
webservices/sandesha/trunk/c/src/util/msg_creator.c
webservices/sandesha/trunk/c/src/util/sandesha2_utils.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/wsrm/Makefile.am
webservices/sandesha/trunk/c/src/wsrm/address.c
webservices/sandesha/trunk/c/src/wsrm/make_connection.c
webservices/sandesha/trunk/c/src/wsrm/msg_pending.c
webservices/sandesha/trunk/c/src/wsrm/rm_elements.c
webservices/sandesha/trunk/c/src/wsrm/sequence.c
Modified: webservices/sandesha/trunk/c/configure.ac
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/configure.ac?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/configure.ac (original)
+++ webservices/sandesha/trunk/c/configure.ac Sun Nov 19 23:28:53 2006
@@ -79,7 +79,8 @@
src/storage/beans/Makefile\
src/storage/inmemory/Makefile\
src/client/Makefile \
- src/core/Makefile
+ src/core/Makefile \
+ src/polling/Makefile
])
AC_OUTPUT
Modified: webservices/sandesha/trunk/c/include/sandesha2_address.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_address.h?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_address.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_address.h Sun Nov 19 23:28:53 2006
@@ -38,49 +38,39 @@
* @ingroup sandesha2_wsrm
* @{
*/
-typedef struct sandesha2_address_ops sandesha2_address_ops_t;
typedef struct sandesha2_address sandesha2_address_t;
/**
- * @brief Address ops struct
- * Encapsulator struct for ops of sandesha2_address
- */
-AXIS2_DECLARE_DATA struct sandesha2_address_ops
-{
- axis2_endpoint_ref_t * (AXIS2_CALL *
- get_epr)
- (sandesha2_address_t *address,
- const axis2_env_t *env);
-
- axis2_status_t (AXIS2_CALL *
- set_epr)
- (sandesha2_address_t *address,
- const axis2_env_t *env,
- axis2_endpoint_ref_t *epr);
-};
-
-/**
* @brief sandesha2_address
* sandesha2_address
*/
AXIS2_DECLARE_DATA struct sandesha2_address
{
sandesha2_iom_rm_element_t element;
- sandesha2_address_ops_t *ops;
};
AXIS2_EXTERN sandesha2_address_t* AXIS2_CALL
sandesha2_address_create(
- const axis2_env_t *env,
- axis2_char_t *ns_value,
- axis2_endpoint_ref_t *epr);
+ const axis2_env_t *env,
+ axis2_char_t *ns_value,
+ axis2_endpoint_ref_t *epr);
+
+axis2_endpoint_ref_t * AXIS2_CALL
+sandesha2_address_get_epr(
+ sandesha2_address_t *address,
+ const axis2_env_t *env);
+
+axis2_status_t AXIS2_CALL
+sandesha2_address_set_epr(
+ sandesha2_address_t *address,
+ const axis2_env_t *env,
+ axis2_endpoint_ref_t *epr);
+
+axis2_status_t AXIS2_CALL
+sandesha2_address_free (
+ sandesha2_iom_rm_element_t *address,
+ const axis2_env_t *env);
-/************************** Start of function macros **************************/
-#define SANDESHA2_ADDRESS_GET_EPR(address, env)\
- ((address)->ops->get_epr(address, env))
-#define SANDESHA2_ADDRESS_SET_EPR(address, env, epr)\
- ((address)->ops->set_epr(address, env, epr))
-/************************** End of function macros ****************************/
/** @} */
#ifdef __cplusplus
Modified: webservices/sandesha/trunk/c/include/sandesha2_constants.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_constants.h?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_constants.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_constants.h Sun Nov 19 23:28:53 2006
@@ -75,7 +75,8 @@
#define SANDESHA2_SPEC_2006_08_ACTION_CLOSE_SEQ "http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequence"
#define SANDESHA2_SPEC_2006_08_ACTION_CLOSE_SEQ_RESPONSE "http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequenceResponse"
-
+ #define SANDESHA2_SPEC_2006_08_ACTION_MAKE_CONNECTION "http://docs.oasisopen.org/ws-rx/wsrm/200608/MakeConnection"
+
#define SANDESHA2_SPEC_2006_08_SOAP_ACTION_CREATE_SEQ "http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequence"
#define SANDESHA2_SPEC_2006_08_SOAP_ACTION_CREATE_SEQ_RESPONSE "http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequenceResponse"
@@ -89,7 +90,8 @@
#define SANDESHA2_SPEC_2006_08_SOAP_ACTION_ACK_REQUEST "http://docs.oasis-open.org/ws-rx/wsrm/200602/AckRequested"
#define SANDESHA2_SPEC_2006_08_SOAP_ACTION_CLOSE_SEQ "http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequence"
-
+
+ #define SANDESHA2_SPEC_2006_08_SOAP_ACTION_MAKE_CONNECTION "http://docs.oasis-open.org/ws-rx/wsrm/200608/MakeConnection"
/**
* WSRM Common constants
*/
@@ -148,6 +150,12 @@
#define SANDESHA2_WSRM_COMMON_PENDING "pending"
#define SANDESHA2_WSRM_COMMON_MAKE_CONNECTION "MakeConnection"
+ /* Message Context Properties */
+ #define SANDESHA2_MSG_CTX_PROP_INTERNAL_SEQUENCE_ID "Sandesha2InternalSequenceId"
+ #define SANDESHA2_MSG_CTX_PROP_SEQUENCE_ID "WSRMSequenceId"
+ #define SANDESHA2_MSG_CTX_PROP_MESSAGE_NUMBER "WSRMMessageNumber"
+ #define SANDESHA2_MSG_CTX_PROP_SEQUENCE_PROPERTY_KEY "SequencePropertyKey"
+
/**
* WS Addressing constants
*/
@@ -170,7 +178,8 @@
SANDESHA2_MSG_TYPE_ACK_REQUEST,
SANDESHA2_MSG_TYPE_TERMINATE_SEQ_RESPONSE,
SANDESHA2_MSG_TYPE_FAULT_MSG,
- SANDESHA2_MSG_TYPE_MAX_MESSAGE_TYPE
+ SANDESHA2_MSG_TYPE_MAX_MESSAGE_TYPE,
+ SANDESHA2_MSG_TYPE_MAKE_CONNECTION_MSG
};
enum sandesha2_message_parts
@@ -186,6 +195,9 @@
SANDESHA2_MSG_PART_CLOSE_SEQ_RESPONSE,
SANDESHA2_MSG_PART_TERMINATE_SEQ_RESPONSE,
SANDESHA2_MSG_PART_ACK_REQUEST,
+ SANDESHA2_MSG_PART_USES_SEQ_STR,
+ SANDESHA2_MSG_PART_MAKE_CONNECTION,
+ SANDESHA2_MSG_PART_MESSAGE_PENDING,
SANDESHA2_MSG_PART_MAX_MSG_PART_ID
};
@@ -463,6 +475,8 @@
#define SANDESHA2_REINJECTED_MESSAGE "ReinjectedMessage"
#define SANDESHA2_MODULE_CLASS_LOADER "Sandesha2ModuleClassLoader"
+
+ #define SANDESHA2_WSRM_ANON_URI_PREFIX "http://docs.oasis-open.org/ws-rx/wsrm/200608/anonymous"
/**
* Message context values
Modified: webservices/sandesha/trunk/c/include/sandesha2_error.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_error.h?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_error.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_error.h Sun Nov 19 23:28:53 2006
@@ -198,6 +198,8 @@
SANDESHA2_ERROR_MAKE_CONNECTION_ELEMENT_SHOULD_HAVE_AT_LEAST_ADDRESS_OR_IDENTIFIER,
/* Invalid MakeConnection object. Both Identifier and Address are null */
SANDESHA2_ERROR_INVALID_MAKE_CONNECTION_BOTH_IDENTIFER_AND_ADDRESS_NULL,
+ /* MakeConnection is not supported in this RM version */
+ SANDESHA2_ERROR_MAKE_CONNECTION_IS_NOT_SUPPORTED_IN_THIS_RM_VERSION,
SANDESHA2_ERROR_LAST
};
Modified: webservices/sandesha/trunk/c/include/sandesha2_iom_rm_element.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_iom_rm_element.h?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_iom_rm_element.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_iom_rm_element.h Sun Nov 19 23:28:53 2006
@@ -46,7 +46,11 @@
* Encapsulator struct for ops of sandesha2_iom_rm_element
*/
AXIS2_DECLARE_DATA struct sandesha2_iom_rm_element_ops
-{
+{
+ axis2_status_t (AXIS2_CALL *free)
+ (sandesha2_iom_rm_element_t *element,
+ const axis2_env_t *env);
+
axis2_char_t* (AXIS2_CALL *get_namespace_value)
(sandesha2_iom_rm_element_t *element,
const axis2_env_t *env);
@@ -63,10 +67,6 @@
axis2_bool_t (AXIS2_CALL *is_namespace_supported)
(sandesha2_iom_rm_element_t *element,
const axis2_env_t *env, axis2_char_t *ns);
-
- axis2_status_t (AXIS2_CALL *free)
- (sandesha2_iom_rm_element_t *element,
- const axis2_env_t *env);
};
/**
Modified: webservices/sandesha/trunk/c/include/sandesha2_make_connection.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_make_connection.h?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_make_connection.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_make_connection.h Sun Nov 19 23:28:53 2006
@@ -57,28 +57,28 @@
axis2_status_t AXIS2_CALL
sandesha2_make_connection_free_void_arg(
- void *make_connection,
+ void *make_conn,
const axis2_env_t *env);
sandesha2_identifier_t * AXIS2_CALL
sandesha2_make_connection_get_identifier(
- sandesha2_make_connection_t *make_connection,
+ sandesha2_make_connection_t *make_conn,
const axis2_env_t *env);
axis2_status_t AXIS2_CALL
sandesha2_make_connection_set_identifier(
- sandesha2_make_connection_t *make_connection,
+ sandesha2_make_connection_t *make_conn,
const axis2_env_t *env,
sandesha2_identifier_t *identifier);
sandesha2_address_t * AXIS2_CALL
sandesha2_make_connection_get_address(
- sandesha2_make_connection_t *make_connection,
+ sandesha2_make_connection_t *make_conn,
const axis2_env_t *env);
axis2_status_t AXIS2_CALL
sandesha2_make_connection_set_address(
- sandesha2_make_connection_t *make_connection,
+ sandesha2_make_connection_t *make_conn,
const axis2_env_t *env,
sandesha2_address_t *address);
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?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h Sun Nov 19 23:28:53 2006
@@ -118,6 +118,14 @@
axis2_char_t *seq_id,
sandesha2_storage_mgr_t *storage_mgr);
+sandesha2_msg_ctx_t *AXIS2_CALL
+sandesha2_msg_creator_create_make_connection_msg(
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *ref_rm_msg_ctx,
+ axis2_char_t *make_conn_seq_id,
+ axis2_char_t *make_conn_anon_uri,
+ sandesha2_storage_mgr_t *storage_mgr);
+
/** @} */
#ifdef __cplusplus
}
Modified: webservices/sandesha/trunk/c/include/sandesha2_next_msg_bean.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_next_msg_bean.h?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_next_msg_bean.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_next_msg_bean.h Sun Nov 19 23:28:53 2006
@@ -63,6 +63,28 @@
sandesha2_next_msg_bean_t *next_msg_bean,
const axis2_env_t *env, long next_msg_no);
+axis2_bool_t AXIS2_CALL
+sandesha2_next_msg_bean_is_polling_mode(
+ sandesha2_next_msg_bean_t *next_msg_bean,
+ const axis2_env_t *env);
+
+void AXIS2_CALL
+sandesha2_next_msg_bean_set_polling_mode(
+ sandesha2_next_msg_bean_t *next_msg_bean,
+ const axis2_env_t *env,
+ axis2_bool_t polling_mode);
+
+axis2_char_t *AXIS2_CALL
+sandesha2_next_msg_bean_get_ref_msg_key(
+ sandesha2_next_msg_bean_t *next_msg_bean,
+ const axis2_env_t *env);
+
+void AXIS2_CALL
+sandesha2_next_msg_bean_set_ref_msg_key(
+ sandesha2_next_msg_bean_t *next_msg_bean,
+ const axis2_env_t *env,
+ axis2_char_t *ref_msg_key);
+
#ifdef __cplusplus
}
Modified: webservices/sandesha/trunk/c/include/sandesha2_spec_specific_consts.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_spec_specific_consts.h?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_spec_specific_consts.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_spec_specific_consts.h Sun Nov 19 23:28:53 2006
@@ -153,6 +153,11 @@
const axis2_env_t *env,
axis2_char_t *spec_version);
+axis2_char_t *AXIS2_CALL
+sandesha2_spec_specific_consts_get_make_connection_action(
+ const axis2_env_t *env,
+ axis2_char_t *spec_version);
+
/** @} */
#ifdef __cplusplus
}
Modified: webservices/sandesha/trunk/c/include/sandesha2_utils.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_utils.h?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_utils.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_utils.h Sun Nov 19 23:28:53 2006
@@ -210,6 +210,22 @@
axis2_char_t *internal_seq_id,
sandesha2_storage_mgr_t *storage_mgr);
+axis2_status_t AXIS2_CALL
+sandesha2_utils_execute_and_store(
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *rm_msg_ctx,
+ axis2_char_t *storage_key);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_utils_is_wsrm_anon_reply_to(
+ const axis2_env_t *env,
+ axis2_char_t *reply_to);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_utils_is_anon_uri(
+ const axis2_env_t *env,
+ axis2_char_t *address);
+
/** @} */
#ifdef __cplusplus
}
Modified: webservices/sandesha/trunk/c/src/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/Makefile.am?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/Makefile.am Sun Nov 19 23:28:53 2006
@@ -1 +1 @@
-SUBDIRS = wsrm storage util transport workers client handlers msgprocessors core
+SUBDIRS = wsrm storage util transport workers client handlers msgprocessors core polling
Modified: webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c Sun Nov 19 23:28:53 2006
@@ -287,7 +287,7 @@
sandesha2_msg_ctx_add_soap_envelope(create_seq_res_msg, env);
}
}
- acks_to = SANDESHA2_ADDRESS_GET_EPR(sandesha2_acks_to_get_address(
+ acks_to = sandesha2_address_get_epr(sandesha2_acks_to_get_address(
sandesha2_create_seq_get_acks_to(create_seq_part, env),
env), env);
if(!acks_to || !AXIS2_ENDPOINT_REF_GET_ADDRESS(acks_to,
Modified: webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c Sun Nov 19 23:28:53 2006
@@ -302,7 +302,7 @@
}
offered_seq_id = sandesha2_seq_property_bean_get_value(offerd_seq_bean,
env);
- acks_to_epr = SANDESHA2_ADDRESS_GET_EPR(sandesha2_acks_to_get_address(
+ acks_to_epr = sandesha2_address_get_epr(sandesha2_acks_to_get_address(
sandesha2_accept_get_acks_to(accept, env), env), env);
acks_to_bean = sandesha2_seq_property_bean_create(env);
sandesha2_seq_property_bean_set_name(acks_to_bean, env,
Modified: webservices/sandesha/trunk/c/src/msgprocessors/make_connection_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/make_connection_msg_processor.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/make_connection_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/make_connection_msg_processor.c Sun Nov 19 23:28:53 2006
@@ -14,6 +14,7 @@
* limitations under the License.
*/
#include <sandesha2_make_connection_msg_processor.h>
+#include <sandesha2_make_connection.h>
#include <sandesha2_seq_property_mgr.h>
#include <sandesha2_seq_property_bean.h>
#include <sandesha2_storage_mgr.h>
@@ -26,6 +27,7 @@
#include <sandesha2_identifier.h>
#include <sandesha2_sender_worker.h>
#include <sandesha2_msg_pending.h>
+#include <sandesha2_msg_init.h>
#include <axis2_msg_ctx.h>
#include <axis2_string.h>
#include <axis2_engine.h>
@@ -37,6 +39,7 @@
#include <axis2_endpoint_ref.h>
#include <axis2_op_ctx.h>
#include <axis2_transport_out_desc.h>
+#include <axis2_http_transport.h>
/**
* @brief Make Connection Message Processor struct impl
@@ -168,7 +171,7 @@
"processor_process_in_msg .........");
printf("sandesha2_make_connnection_msg_processor_process_in_msg\n");
- make_conn = (sandesha2_make_connnection_t*)
+ make_conn = (sandesha2_make_connection_t*)
sandesha2_msg_ctx_get_msg_part(rm_msg_ctx, env,
SANDESHA2_MSG_PART_MAKE_CONNECTION);
if(!make_conn)
@@ -180,8 +183,7 @@
return AXIS2_FAILURE;
}
address = sandesha2_make_connection_get_address(make_conn, env);
- identifier = sandesha2_seq_make_connnection_get_identifier(
- seq_make_connnection, env);
+ identifier = sandesha2_make_connection_get_identifier(make_conn, env);
if(identifier)
seq_id = sandesha2_identifier_get_identifier(identifier, env);
msg_ctx = sandesha2_msg_ctx_get_msg_ctx(rm_msg_ctx, env);
@@ -199,10 +201,11 @@
if(address)
{
axis2_endpoint_ref_t *epr = NULL;
- const axis2_char_t *epr_address = NULL;
+ axis2_char_t *epr_address = NULL;
epr = sandesha2_address_get_epr(address, env);
if(epr)
- epr_address = sandesha2_endpoint_ref_get_address(epr, env);
+ epr_address = (axis2_char_t *) AXIS2_ENDPOINT_REF_GET_ADDRESS(epr,
+ env);
if(epr_address)
sandesha2_sender_bean_set_wsrm_anon_uri(find_sender_bean, env,
epr_address);
@@ -213,15 +216,15 @@
if(find_sender_bean)
{
int i = 0, size = 0;
- retrans_list = axis2_array_list_create(env);
+ retrans_list = axis2_array_list_create(env, 0);
if(!retrans_list)
return AXIS2_FAILURE;
axis2_array_list_t *retrans_list1 = NULL, *retrans_list2 = NULL;
sandesha2_sender_bean_set_resend(find_sender_bean, env, AXIS2_TRUE);
- retrans_list1 = sandesha2_sender_mgr_find_by_sender_bean(retrans_mgr,
+ retrans_list1 = sandesha2_sender_mgr_find_by_sender_bean(sender_bean_mgr,
env, find_sender_bean);
sandesha2_sender_bean_set_resend(find_sender_bean, env, AXIS2_FALSE);
- retrans_list2 = sandesha2_sender_mgr_find_by_sender_bean(retrans_mgr,
+ retrans_list2 = sandesha2_sender_mgr_find_by_sender_bean(sender_bean_mgr,
env, find_sender_bean);
if(retrans_list1)
size = AXIS2_ARRAY_LIST_SIZE(retrans_list1, env);
@@ -253,7 +256,7 @@
using the makeConnection. So the MessagePending
header should have value true;*/
- for(itemp = 0; item < size; item++)
+ for(item = 0; item < size; item++)
{
sender_bean = (sandesha2_sender_bean_t *) AXIS2_ARRAY_LIST_GET(
retrans_list, env, item);
@@ -281,7 +284,7 @@
op_ctx = AXIS2_MSG_CTX_GET_OP_CTX(msg_ctx, env);
if(op_ctx)
{
- ctx = AXIS2_OP_CTX_GET_BASE(op_ctx, env);
+ axis2_ctx_t *ctx = AXIS2_OP_CTX_GET_BASE(op_ctx, env);
if (ctx)
{
axis2_char_t *value = NULL;
@@ -308,6 +311,7 @@
sandesha2_sender_worker_set_transport_out(sender_worker, env, transport_out);
sandesha2_sender_worker_run(sender_worker, env);
}
+ return AXIS2_SUCCESS;
}
static void
@@ -320,7 +324,7 @@
return_msg_ctx, env);
axis2_char_t *rm_ns = sandesha2_msg_ctx_get_rm_ns_val(return_msg_ctx, env);
sandesha2_msg_pending_t *msg_pending = sandesha2_msg_pending_create(env,
- rn_ns);
+ rm_ns);
sandesha2_msg_pending_set_pending(msg_pending, env, pending);
sandesha2_msg_pending_to_soap_envelope(msg_pending, env, soap_env);
}
@@ -332,11 +336,11 @@
sandesha2_msg_ctx_t *make_conn_msg_ctx)
{
axis2_property_t *property = NULL;
- property = sandesha2_msg_ctx_get_property(make_conn_ctx, env,
+ property = sandesha2_msg_ctx_get_property(make_conn_msg_ctx, env,
AXIS2_TRANSPORT_OUT);
AXIS2_MSG_CTX_SET_PROPERTY(return_msg_ctx, env, AXIS2_TRANSPORT_OUT,
property, AXIS2_FALSE);
- property = sandesha2_msg_ctx_get_property(make_conn_ctx, env,
+ property = sandesha2_msg_ctx_get_property(make_conn_msg_ctx, env,
AXIS2_HTTP_OUT_TRANSPORT_INFO);
AXIS2_MSG_CTX_SET_PROPERTY(return_msg_ctx, env,
AXIS2_HTTP_OUT_TRANSPORT_INFO, property, AXIS2_FALSE);
Modified: webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c Sun Nov 19 23:28:53 2006
@@ -23,6 +23,8 @@
struct sandesha2_next_msg_bean_t
{
axis2_char_t *seq_id;
+ axis2_char_t *ref_msg_key;
+ axis2_bool_t polling_mode;
long msg_no;
};
@@ -43,7 +45,9 @@
/* init the properties. */
bean->seq_id = NULL;
+ bean->ref_msg_key = NULL;
bean->msg_no = -1;
+ bean->polling_mode = AXIS2_FALSE;
return bean;
}
@@ -68,7 +72,9 @@
/* init the properties. */
bean->seq_id = (axis2_char_t*)AXIS2_STRDUP(seq_id, env);
+ bean->ref_msg_key = NULL;
bean->msg_no = msg_no;
+ bean->polling_mode = AXIS2_FALSE;
return bean;
}
@@ -83,6 +89,11 @@
AXIS2_FREE(env->allocator, next_msg_bean->seq_id);
next_msg_bean->seq_id= NULL;
}
+ if(next_msg_bean->ref_msg_key)
+ {
+ AXIS2_FREE(env->allocator, next_msg_bean->ref_msg_key);
+ next_msg_bean->ref_msg_key= NULL;
+ }
return AXIS2_SUCCESS;
}
@@ -129,5 +140,38 @@
next_msg_bean->msg_no = next_msg_no;
}
+axis2_bool_t AXIS2_CALL
+sandesha2_next_msg_bean_is_polling_mode(
+ sandesha2_next_msg_bean_t *next_msg_bean,
+ const axis2_env_t *env)
+{
+ return next_msg_bean->polling_mode;
+}
+
+void AXIS2_CALL
+sandesha2_next_msg_bean_set_polling_mode(
+ sandesha2_next_msg_bean_t *next_msg_bean,
+ const axis2_env_t *env,
+ axis2_bool_t polling_mode)
+{
+ next_msg_bean->polling_mode = polling_mode;
+}
+
+axis2_char_t *AXIS2_CALL
+sandesha2_next_msg_bean_get_ref_msg_key(
+ sandesha2_next_msg_bean_t *next_msg_bean,
+ const axis2_env_t *env)
+{
+ return next_msg_bean->ref_msg_key;
+}
+
+void AXIS2_CALL
+sandesha2_next_msg_bean_set_ref_msg_key(
+ sandesha2_next_msg_bean_t *next_msg_bean,
+ const axis2_env_t *env,
+ axis2_char_t *ref_msg_key)
+{
+ next_msg_bean->ref_msg_key = ref_msg_key;
+}
Modified: webservices/sandesha/trunk/c/src/util/error.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/error.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/util/error.c (original)
+++ webservices/sandesha/trunk/c/src/util/error.c Sun Nov 19 23:28:53 2006
@@ -181,6 +181,8 @@
/* Invalid MakeConnection object. Both Identifier and Address are null */
sandesha2_error_messages[SANDESHA2_ERROR_INVALID_MAKE_CONNECTION_BOTH_IDENTIFER_AND_ADDRESS_NULL]=
"Invalid MakeConnection object. Both Identifier and Address are null";
+ sandesha2_error_messages[SANDESHA2_ERROR_MAKE_CONNECTION_IS_NOT_SUPPORTED_IN_THIS_RM_VERSION]=
+ "MakeConnection is not supported in this RM version";
return AXIS2_SUCCESS;
}
Modified: webservices/sandesha/trunk/c/src/util/fault_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/fault_mgr.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/util/fault_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/fault_mgr.c Sun Nov 19 23:28:53 2006
@@ -439,7 +439,7 @@
create_seq = (sandesha2_create_seq_t *)sandesha2_msg_ctx_get_msg_part(
rm_msg_ctx, env, SANDESHA2_MSG_PART_CREATE_SEQ);
- epr = SANDESHA2_ADDRESS_GET_EPR(sandesha2_acks_to_get_address(
+ epr = sandesha2_address_get_epr(sandesha2_acks_to_get_address(
sandesha2_create_seq_get_acks_to(create_seq, env),
env), env);
acks_to_str = (axis2_char_t*)AXIS2_ENDPOINT_REF_GET_ADDRESS(epr, env);
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?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/util/msg_creator.c (original)
+++ webservices/sandesha/trunk/c/src/util/msg_creator.c Sun Nov 19 23:28:53 2006
@@ -35,6 +35,7 @@
#include <sandesha2_spec_specific_consts.h>
#include <sandesha2_terminate_seq.h>
#include <sandesha2_identifier.h>
+#include <sandesha2_make_connection.h>
#include "../client/sandesha2_client_constants.h"
#include <axis2_conf_ctx.h>
@@ -328,7 +329,7 @@
acks_to_epr = sandesha2_msg_ctx_get_to(create_seq_msg, env);
address = sandesha2_address_create(env, addressing_ns_value, acks_to_epr);
acks_to = sandesha2_acks_to_create(env, address, rm_ns_value, addressing_ns_value);
- SANDESHA2_ADDRESS_SET_EPR(address, env, acks_to_epr);
+ sandesha2_address_set_epr(address, env, acks_to_epr);
sandesha2_acks_to_set_address(acks_to, env, address);
sandesha2_accept_set_acks_to(accept, env, acks_to);
sandesha2_create_seq_res_set_accept(response, env, accept);
@@ -905,4 +906,82 @@
return AXIS2_SUCCESS;
}
-
+
+sandesha2_msg_ctx_t *AXIS2_CALL
+sandesha2_msg_creator_create_make_connection_msg(
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *ref_rm_msg_ctx,
+ axis2_char_t *make_conn_seq_id,
+ axis2_char_t *make_conn_anon_uri,
+ sandesha2_storage_mgr_t *storage_mgr)
+{
+ axis2_msg_ctx_t *ref_msg_ctx = NULL;
+ axis2_msg_ctx_t *make_conn_msg_ctx = NULL;
+ axis2_char_t *rm_ns_value = NULL;
+ axis2_char_t *rm_version = NULL;
+ axis2_op_t *make_conn_op = NULL;
+ axis2_char_t *wsa_action = NULL;
+ sandesha2_make_connection_t *make_conn = NULL;
+ sandesha2_msg_ctx_t *make_conn_rm_msg_ctx = NULL;
+
+ if(ref_rm_msg_ctx)
+ {
+ ref_msg_ctx = sandesha2_msg_ctx_get_msg_ctx(ref_rm_msg_ctx, env);
+ rm_ns_value = sandesha2_msg_ctx_get_rm_ns_val(ref_rm_msg_ctx, env);
+ rm_version = sandesha2_msg_ctx_get_rm_spec_ver(ref_rm_msg_ctx, env);
+ }
+ make_conn_op = axis2_op_create(env);
+ if(make_conn_op)
+ AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(make_conn_op, env,
+ AXIS2_MEP_URI_OUT_IN);
+ make_conn_msg_ctx = sandesha2_utils_create_new_related_msg_ctx(env,
+ ref_rm_msg_ctx, make_conn_op);
+ if(make_conn_msg_ctx)
+ make_conn_rm_msg_ctx = sandesha2_msg_init_init_msg(env,
+ make_conn_msg_ctx);
+ make_conn = sandesha2_make_connection_create(env, rm_ns_value);
+ if(make_conn_seq_id)
+ {
+ sandesha2_identifier_t *identifier = sandesha2_identifier_create(env,
+ rm_ns_value);
+ if(identifier)
+ sandesha2_identifier_set_identifier(identifier, env,
+ make_conn_seq_id);
+ if(make_conn)
+ sandesha2_make_connection_set_identifier(make_conn, env, identifier);
+ }
+ if(make_conn_anon_uri)
+ {
+ sandesha2_address_t *address = sandesha2_address_create(env,
+ rm_ns_value, NULL);
+ axis2_endpoint_ref_t *epr = axis2_endpoint_ref_create(env,
+ make_conn_anon_uri);
+ if(address)
+ sandesha2_address_set_epr(address, env, epr);
+ if(make_conn)
+ sandesha2_make_connection_set_address(make_conn, env, address);
+ }
+ if(make_conn_msg_ctx)
+ {
+ axis2_endpoint_ref_t *to = NULL;
+ axis2_char_t *address = NULL;
+ /* Setting the addressing properties */
+ to = AXIS2_MSG_CTX_GET_TO(ref_msg_ctx, env);
+ address = (axis2_char_t *) AXIS2_ENDPOINT_REF_GET_ADDRESS(
+ (const axis2_endpoint_ref_t *) to, env);
+ to = axis2_endpoint_ref_create(env, address);
+ AXIS2_MSG_CTX_SET_TO(make_conn_msg_ctx, env, to);
+ wsa_action = sandesha2_spec_specific_consts_get_make_connection_action(
+ env, rm_version);
+ axis2_msg_ctx_set_wsa_action(make_conn_msg_ctx, env, wsa_action);
+ AXIS2_MSG_CTX_SET_MSG_ID(make_conn_msg_ctx, env, axis2_uuid_gen(env));
+ sandesha2_msg_ctx_set_msg_part(make_conn_rm_msg_ctx, env,
+ SANDESHA2_MSG_PART_MAKE_CONNECTION,
+ (sandesha2_iom_rm_part_t *) make_conn);
+ /* Generating the soap envelope */
+ sandesha2_msg_ctx_add_soap_envelope(make_conn_rm_msg_ctx, env);
+ return make_conn_rm_msg_ctx;
+ }
+ return NULL;
+}
+
Modified: webservices/sandesha/trunk/c/src/util/sandesha2_utils.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/sandesha2_utils.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/util/sandesha2_utils.c (original)
+++ webservices/sandesha/trunk/c/src/util/sandesha2_utils.c Sun Nov 19 23:28:53 2006
@@ -15,32 +15,33 @@
*/
#include <sandesha2_utils.h>
-#include <sys/timeb.h>
-#include <axis2_param.h>
#include <sandesha2_constants.h>
#include <sandesha2_in_order_invoker.h>
#include <sandesha2_transport_sender.h>
#include <sandesha2_seq_property_mgr.h>
#include <sandesha2_error.h>
#include <sandesha2_sender.h>
+#include <sandesha2_seq.h>
+#include <sandesha2_seq_ack.h>
+#include <sandesha2_ack_requested.h>
+#include <sandesha2_close_seq.h>
+#include <sandesha2_close_seq_res.h>
#include <axis2_string.h>
#include <axis2_conf.h>
#include <axis2_property.h>
#include <axiom_soap_body.h>
#include <axis2_options.h>
#include <axis2_msg_ctx.h>
+#include <axis2_engine.h>
#include <axis2_transport_out_desc.h>
#include <axis2_transport_in_desc.h>
#include <axis2_qname.h>
#include <axis2_http_transport.h>
#include <axis2_addr.h>
#include <axiom_soap_header.h>
-#include <sandesha2_seq.h>
-#include <sandesha2_seq_ack.h>
-#include <sandesha2_ack_requested.h>
-#include <sandesha2_close_seq.h>
-#include <sandesha2_close_seq_res.h>
+#include <axis2_param.h>
#include <stdlib.h>
+#include <sys/timeb.h>
static axis2_array_list_t *
get_sorted_msg_no_list(
@@ -68,23 +69,23 @@
AXIS2_PARAM_CHECK(env->error, qname, AXIS2_FAILURE);
soap_body = AXIOM_SOAP_ENVELOPE_GET_BODY(envelope, env);
- if(NULL == soap_body)
+ if(!soap_body)
{
return AXIS2_FAILURE;
}
body_node = AXIOM_SOAP_BODY_GET_BASE_NODE(soap_body, env);
- if(NULL == body_node)
+ if(!body_node)
{
return AXIS2_FAILURE;
}
body_element = AXIOM_NODE_GET_DATA_ELEMENT(body_node, env);
- if(NULL == body_element)
+ if(!body_element)
{
return AXIS2_FAILURE;
}
body_rm_element = AXIOM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(body_element,
env, qname, body_node, &body_rm_node);
- if(NULL != body_rm_element)
+ if(body_rm_element)
{
AXIOM_NODE_DETACH(body_rm_node, env);
}
@@ -93,7 +94,7 @@
AXIS2_EXTERN long AXIS2_CALL
sandesha2_utils_get_current_time_in_millis(
- const axis2_env_t *env)
+ const axis2_env_t *env)
{
const long fixed_time = 1153918446;
long seconds = -1;
@@ -131,7 +132,7 @@
if(seq_prop_mgr)
rm_version_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr,
env, key, SANDESHA2_SEQ_PROP_RM_SPEC_VERSION);
- if(NULL == rm_version_bean)
+ if(!rm_version_bean)
return NULL;
return sandesha2_seq_property_bean_get_value(rm_version_bean, env);
}
@@ -151,7 +152,7 @@
parameter = AXIS2_CONF_GET_PARAM(conf, env,
SANDESHA2_STORAGE_MGR_PARAMETER);
- if(NULL == parameter)
+ if(!parameter)
parameter = axis2_param_create(env, SANDESHA2_STORAGE_MGR_PARAMETER,
SANDESHA2_DEFAULT_STORAGE_MGR);
value = AXIS2_PARAM_GET_VALUE(parameter, env);
@@ -215,15 +216,15 @@
AXIS2_EXTERN axis2_array_list_t* AXIS2_CALL
sandesha2_utils_get_array_list_from_string(
- const axis2_env_t *env,
- axis2_char_t *str)
+ const axis2_env_t *env,
+ axis2_char_t *str)
{
axis2_char_t *dup_str = NULL;
axis2_char_t *temp_str = NULL;
axis2_array_list_t *ret = NULL;
AXIS2_ENV_CHECK(env, NULL);
- if(NULL == str || 0 == AXIS2_STRCMP("", str))
+ if(!str || 0 == AXIS2_STRCMP("", str))
{
ret = axis2_array_list_create(env, AXIS2_ARRAY_LIST_DEFAULT_CAPACITY);
return ret;
@@ -271,7 +272,7 @@
ret = axis2_array_list_create(env, AXIS2_ARRAY_LIST_DEFAULT_CAPACITY);
temp_str = NULL;
temp_str = strtok(dup_str, ",");
- while(NULL != temp_str)
+ while(temp_str)
{
axis2_char_t *temp_element = AXIS2_STRDUP(temp_str, env);
AXIS2_ARRAY_LIST_ADD(ret, env, temp_element);
@@ -294,7 +295,7 @@
for(i = 0; i < AXIS2_ARRAY_LIST_SIZE(list, env); i++)
{
axis2_char_t *element = AXIS2_ARRAY_LIST_GET(list, env, i);
- if(NULL != element && 0 == AXIS2_STRCMP(element, str))
+ if(element && 0 == AXIS2_STRCMP(element, str))
return AXIS2_TRUE;
}
return AXIS2_FAILURE;
@@ -384,10 +385,10 @@
property = AXIS2_CTX_GET_PROPERTY(AXIS2_CONF_CTX_GET_BASE(conf_ctx, env),
env, SANDESHA2_SENDER, AXIS2_FALSE);
- if(NULL != property)
+ if(property)
sender = AXIS2_PROPERTY_GET_VALUE(property, env);
- if(NULL == sender)
+ if(!sender)
{
sender = sandesha2_sender_create(env);
property = axis2_property_create(env);
@@ -442,7 +443,7 @@
property = AXIS2_CTX_GET_PROPERTY(AXIS2_CONF_CTX_GET_BASE(conf_ctx, env),
env, SANDESHA2_INMEMORY_STORAGE_MGR, AXIS2_FALSE);
- if(NULL != property && NULL != AXIS2_PROPERTY_GET_VALUE(property, env))
+ if(property && AXIS2_PROPERTY_GET_VALUE(property, env))
return (sandesha2_storage_mgr_t*)AXIS2_PROPERTY_GET_VALUE(property,
env);
else
@@ -505,7 +506,7 @@
AXIS2_PARAM_CHECK(env->error, op, NULL);
param = AXIS2_OP_GET_PARAM(op, env, SANDESHA2_SANDESHA_PROPERTY_BEAN);
- if(NULL == param)
+ if(!param)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_CONFIGURATION_NOT_SET,
AXIS2_FAILURE);
@@ -614,7 +615,7 @@
if(AXIS2_MSG_CTX_GET_SVC(ref_msg, env))
{
AXIS2_MSG_CTX_SET_SVC(new_msg, env, AXIS2_MSG_CTX_GET_SVC(ref_msg, env));
- if(NULL != AXIS2_MSG_CTX_GET_SVC_CTX(ref_msg, env))
+ if(AXIS2_MSG_CTX_GET_SVC_CTX(ref_msg, env))
{
AXIS2_MSG_CTX_SET_SVC_CTX(new_msg, env,
AXIS2_MSG_CTX_GET_SVC_CTX(ref_msg, env));
@@ -781,12 +782,12 @@
AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FALSE);
action = (axis2_char_t*)AXIS2_MSG_CTX_GET_WSA_ACTION(msg_ctx, env);
- if(NULL == action)
+ if(!action)
return AXIS2_FALSE;
if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_02_ACTION_CREATE_SEQ))
ret = AXIS2_TRUE;
- else if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_10_ACTION_CREATE_SEQ))
+ else if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2006_08_ACTION_CREATE_SEQ))
ret = AXIS2_TRUE;
return ret;
@@ -813,7 +814,7 @@
action = (axis2_char_t*)AXIS2_MSG_CTX_GET_WSA_ACTION(msg_ctx, env);
soap_env = AXIS2_MSG_CTX_GET_SOAP_ENVELOPE(msg_ctx, env);
- if(NULL == soap_env)
+ if(!soap_env)
{
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] SOAP envelope is"
" null");
@@ -821,7 +822,7 @@
}
soap_header = AXIOM_SOAP_ENVELOPE_GET_HEADER(soap_env, env);
- if(NULL != soap_header)
+ if(soap_header)
{
header_node = AXIOM_SOAP_HEADER_GET_BASE_NODE(soap_header, env);
header_element = AXIOM_NODE_GET_DATA_ELEMENT(header_node, env);
@@ -830,7 +831,7 @@
SANDESHA2_SPEC_2005_02_NS_URI, NULL);
seq_element = AXIOM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(header_element,
env, qname, header_node, &seq_node);
- if(NULL == seq_element)
+ if(!seq_element)
{
qname = axis2_qname_create(env, SANDESHA2_WSRM_COMMON_SEQ,
SANDESHA2_SPEC_2006_08_NS_URI, NULL);
@@ -838,7 +839,7 @@
header_element, env, qname, header_node, &seq_node);
}
}
- if(NULL != seq_element)
+ if(seq_element)
is_global_msg = AXIS2_TRUE;
if(0 == AXIS2_STRCMP(action,
@@ -853,14 +854,14 @@
is_global_msg = AXIS2_TRUE;
if(0 == AXIS2_STRCMP(action,
- SANDESHA2_SPEC_2005_10_ACTION_SEQ_ACKNOWLEDGEMENT))
+ SANDESHA2_SPEC_2006_08_ACTION_SEQ_ACKNOWLEDGEMENT))
is_global_msg = AXIS2_TRUE;
if(0 == AXIS2_STRCMP(action,
- SANDESHA2_SPEC_2005_10_ACTION_CREATE_SEQ_RESPONSE))
+ SANDESHA2_SPEC_2006_08_ACTION_CREATE_SEQ_RESPONSE))
is_global_msg = AXIS2_TRUE;
- if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_10_ACTION_TERMINATE_SEQ))
+ if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2006_08_ACTION_TERMINATE_SEQ))
is_global_msg = AXIS2_TRUE;
return is_global_msg;
@@ -1112,12 +1113,98 @@
str_msg_no = AXIS2_MALLOC(env->allocator, 32*sizeof(axis2_char_t));
sprintf(str_msg_no, "%ld", temp_msg_no);
- if(AXIS2_TRUE != AXIS2_ARRAY_LIST_CONTAINS(acked_msgs_list, env,
+ if(!AXIS2_ARRAY_LIST_CONTAINS(acked_msgs_list, env,
str_msg_no))
{
return AXIS2_FALSE;
}
}
return AXIS2_TRUE; /* All messages upto the highest have been acked */
+}
+
+axis2_status_t AXIS2_CALL
+sandesha2_utils_execute_and_store(
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *rm_msg_ctx,
+ axis2_char_t *storage_key)
+{
+ axis2_msg_ctx_t *msg_ctx = NULL;
+ axis2_conf_ctx_t *conf_ctx = NULL;
+ axis2_transport_out_desc_t *transport_out = NULL;
+ axis2_transport_out_desc_t *sandesha2_transport_out = NULL;
+ axis2_property_t *property = NULL;
+ axis2_engine_t *engine = NULL;
+
+ msg_ctx = sandesha2_msg_ctx_get_msg_ctx(rm_msg_ctx, env);
+ if(msg_ctx)
+ conf_ctx = AXIS2_MSG_CTX_GET_CONF_CTX(msg_ctx, env);
+ sandesha2_msg_ctx_set_msg_type(rm_msg_ctx, env,
+ SANDESHA2_MSG_TYPE_CREATE_SEQ);
+ /* Message will be stored in the sandesha2_transport_sender */
+ property = axis2_property_create(env);
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
+ AXIS2_PROPERTY_SET_VALUE(property, env, AXIS2_STRDUP(
+ storage_key, env));
+ AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env,
+ SANDESHA2_MESSAGE_STORE_KEY, property, AXIS2_FALSE);
+
+ transport_out = AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(msg_ctx, env);
+ property = axis2_property_create(env);
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
+ AXIS2_PROPERTY_SET_FREE_FUNC(property, env,
+ transport_out->ops->free_void_arg);
+ AXIS2_PROPERTY_SET_VALUE(property, env, transport_out);
+ AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env,
+ SANDESHA2_ORIGINAL_TRANSPORT_OUT_DESC, property, AXIS2_FALSE);
+
+ property = axis2_property_create(env);
+ AXIS2_PROPERTY_SET_VALUE(property, env, AXIS2_STRDUP(SANDESHA2_VALUE_TRUE,
+ env));
+ AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env, SANDESHA2_SET_SEND_TO_TRUE,
+ property, AXIS2_FALSE);
+ sandesha2_transport_out = sandesha2_utils_get_transport_out(env);
+ AXIS2_MSG_CTX_SET_TRANSPORT_OUT_DESC(msg_ctx, env, sandesha2_transport_out);
+ /* Sending the message once through the sandesha2_transport_sender */
+ engine = axis2_engine_create(env, conf_ctx);
+ if(AXIS2_MSG_CTX_IS_PAUSED(msg_ctx, env))
+ {
+ AXIS2_MSG_CTX_SET_CURRENT_HANDLER_INDEX(msg_ctx, env,
+ AXIS2_MSG_CTX_GET_CURRENT_HANDLER_INDEX(msg_ctx, env) + 1);
+ AXIS2_ENGINE_RESUME_SEND(engine, env, msg_ctx);
+ }
+ else
+ AXIS2_ENGINE_SEND(engine, env, msg_ctx);
+ return AXIS2_SUCCESS;
+}
+
+axis2_bool_t AXIS2_CALL
+sandesha2_utils_is_wsrm_anon_reply_to(
+ const axis2_env_t *env,
+ axis2_char_t *reply_to)
+{
+ if (reply_to && AXIS2_STRSTR(reply_to, SANDESHA2_WSRM_ANON_URI_PREFIX))
+ return AXIS2_TRUE;
+ else
+ return AXIS2_FALSE;
+}
+
+axis2_bool_t AXIS2_CALL
+sandesha2_utils_is_anon_uri(
+ const axis2_env_t *env,
+ axis2_char_t *address)
+{
+ axis2_char_t *address_l = NULL;
+ if(!address)
+ return AXIS2_FALSE;
+ address_l = AXIS2_STRTRIM(env, address, NULL);
+
+ if(0 == AXIS2_STRCMP(AXIS2_WSA_ANONYMOUS_URL, address_l))
+ return AXIS2_TRUE;
+ if(0 == AXIS2_STRCMP(AXIS2_WSA_ANONYMOUS_URL_SUBMISSION, address_l))
+ return AXIS2_TRUE;
+ else if (sandesha2_utils_is_wsrm_anon_reply_to(env, address))
+ return AXIS2_TRUE;
+
+ return AXIS2_FALSE;
}
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?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/util/seq_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/seq_mgr.c Sun Nov 19 23:28:53 2006
@@ -102,7 +102,7 @@
}
temp_acks_to = sandesha2_create_seq_get_acks_to(create_seq, env);
temp_address = sandesha2_acks_to_get_address(temp_acks_to, env);
- acks_to = SANDESHA2_ADDRESS_GET_EPR(temp_address, env);
+ acks_to = sandesha2_address_get_epr(temp_address, env);
if(!acks_to)
{
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Acks To is 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?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/util/spec_specific_consts.c (original)
+++ webservices/sandesha/trunk/c/src/util/spec_specific_consts.c Sun Nov 19 23:28:53 2006
@@ -124,7 +124,7 @@
if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_0, spec_version))
return SANDESHA2_SPEC_2005_02_ACTION_TERMINATE_SEQ;
else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
- return SANDESHA2_SPEC_2005_10_ACTION_TERMINATE_SEQ;
+ return SANDESHA2_SPEC_2006_08_ACTION_TERMINATE_SEQ;
else
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
@@ -141,7 +141,7 @@
return SANDESHA2_SPEC_2005_02_ACTION_CREATE_SEQ;
}
else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
- return SANDESHA2_SPEC_2005_10_ACTION_CREATE_SEQ;
+ return SANDESHA2_SPEC_2006_08_ACTION_CREATE_SEQ;
else
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
@@ -158,7 +158,7 @@
return SANDESHA2_SPEC_2005_02_ACTION_CREATE_SEQ_RESPONSE;
}
else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
- return SANDESHA2_SPEC_2005_10_ACTION_CREATE_SEQ_RESPONSE;
+ return SANDESHA2_SPEC_2006_08_ACTION_CREATE_SEQ_RESPONSE;
else
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
@@ -177,7 +177,7 @@
return NULL;
}
else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
- return SANDESHA2_SPEC_2005_10_ACTION_CLOSE_SEQ;
+ return SANDESHA2_SPEC_2006_08_ACTION_CLOSE_SEQ;
else
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
@@ -196,7 +196,7 @@
return NULL;
}
else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
- return SANDESHA2_SPEC_2005_10_ACTION_CLOSE_SEQ_RESPONSE;
+ return SANDESHA2_SPEC_2006_08_ACTION_CLOSE_SEQ_RESPONSE;
else
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
@@ -217,7 +217,7 @@
return NULL;
}
else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
- return SANDESHA2_SPEC_2005_10_ACTION_ACK_REQUEST;
+ return SANDESHA2_SPEC_2006_08_ACTION_ACK_REQUEST;
else
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
@@ -267,7 +267,7 @@
if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_0, spec_version))
return SANDESHA2_SPEC_2005_02_SOAP_ACTION_TERMINATE_SEQ;
else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
- return SANDESHA2_SPEC_2005_10_SOAP_ACTION_TERMINATE_SEQ;
+ return SANDESHA2_SPEC_2006_08_SOAP_ACTION_TERMINATE_SEQ;
else
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
@@ -288,7 +288,7 @@
}
else if(0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
{
- return SANDESHA2_SPEC_2005_10_SOAP_ACTION_ACK_REQUEST;
+ return SANDESHA2_SPEC_2006_08_SOAP_ACTION_ACK_REQUEST;
}
else
{
@@ -326,7 +326,7 @@
AXIS2_PARAM_CHECK(env->error, spec_version, NULL);
if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
- return SANDESHA2_SPEC_2005_10_ACTION_TERMINATE_SEQ_RESPONSE;
+ return SANDESHA2_SPEC_2006_08_ACTION_TERMINATE_SEQ_RESPONSE;
else
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
@@ -344,7 +344,7 @@
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;
+ return SANDESHA2_SPEC_2006_08_ACTION_SEQ_ACKNOWLEDGEMENT;
else
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
@@ -353,8 +353,8 @@
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)
+ const axis2_env_t *env,
+ axis2_char_t *spec_version)
{
if(0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_0, spec_version))
{
@@ -362,7 +362,7 @@
}
else if(0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
{
- return SANDESHA2_SPEC_2005_10_SOAP_ACTION_SEQ_ACKNOWLEDGEMENT;
+ return SANDESHA2_SPEC_2006_08_SOAP_ACTION_SEQ_ACKNOWLEDGEMENT;
}
else
{
@@ -370,6 +370,25 @@
AXIS2_FAILURE);
return NULL;
}
+}
+
+axis2_char_t *AXIS2_CALL
+sandesha2_spec_specific_consts_get_make_connection_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_MAKE_CONNECTION_IS_NOT_SUPPORTED_IN_THIS_RM_VERSION,
+ AXIS2_FAILURE);
+ }
+ else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
+ return SANDESHA2_SPEC_2006_08_ACTION_MAKE_CONNECTION;
+ else
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
+ AXIS2_FAILURE);
+ return NULL;
}
axis2_bool_t AXIS2_CALL
Modified: webservices/sandesha/trunk/c/src/wsrm/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/Makefile.am?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/wsrm/Makefile.am Sun Nov 19 23:28:53 2006
@@ -27,7 +27,8 @@
rm_elements.c \
iom_rm_element.c \
iom_rm_part.c \
- msg_pending.c
+ msg_pending.c \
+ make_connection.c
INCLUDES = -I$(top_builddir)/include \
@AXIS2INC@
Modified: webservices/sandesha/trunk/c/src/wsrm/address.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/address.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/address.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/address.c Sun Nov 19 23:28:53 2006
@@ -34,76 +34,61 @@
/***************************** Function headers *******************************/
axis2_char_t* AXIS2_CALL
-sandesha2_address_get_namespace_value (sandesha2_iom_rm_element_t *address,
- const axis2_env_t *env);
+sandesha2_address_get_namespace_value (
+ sandesha2_iom_rm_element_t *address,
+ const axis2_env_t *env);
void* AXIS2_CALL
-sandesha2_address_from_om_node(sandesha2_iom_rm_element_t *address,
- const axis2_env_t *env, axiom_node_t *om_node);
+sandesha2_address_from_om_node(
+ sandesha2_iom_rm_element_t *address,
+ const axis2_env_t *env,
+ axiom_node_t *om_node);
axiom_node_t* AXIS2_CALL
-sandesha2_address_to_om_node(sandesha2_iom_rm_element_t *address,
- const axis2_env_t *env, void *om_node);
+sandesha2_address_to_om_node(
+ sandesha2_iom_rm_element_t *address,
+ const axis2_env_t *env,
+ void *om_node);
axis2_bool_t AXIS2_CALL
-sandesha2_address_is_namespace_supported(sandesha2_iom_rm_element_t *address,
- const axis2_env_t *env, axis2_char_t *namespace);
+sandesha2_address_is_namespace_supported(
+ sandesha2_iom_rm_element_t *address,
+ const axis2_env_t *env,
+ axis2_char_t *namespace);
-axis2_endpoint_ref_t * AXIS2_CALL
-sandesha2_address_get_epr(sandesha2_address_t *address,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-sandesha2_address_set_epr(sandesha2_address_t *address,
- const axis2_env_t *env, axis2_endpoint_ref_t *epr);
-
-axis2_status_t AXIS2_CALL
-sandesha2_address_free (sandesha2_iom_rm_element_t *address,
- const axis2_env_t *env);
-
/***************************** End of function headers ************************/
AXIS2_EXTERN sandesha2_address_t* AXIS2_CALL
-sandesha2_address_create(const axis2_env_t *env, axis2_char_t *ns_val,
- axis2_endpoint_ref_t *epr)
+sandesha2_address_create(
+ const axis2_env_t *env,
+ axis2_char_t *ns_val,
+ axis2_endpoint_ref_t *epr)
{
sandesha2_address_impl_t *address_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, ns_val, NULL);
address_impl = (sandesha2_address_impl_t *)AXIS2_MALLOC
- (env->allocator, sizeof(sandesha2_address_impl_t));
+ (env->allocator, sizeof(sandesha2_address_impl_t));
- if(NULL == address_impl)
+ if(!address_impl)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
- address_impl->ns_val = NULL;
- address_impl->epr = NULL;
- address_impl->address.ops = NULL;
+ address_impl->ns_val = AXIS2_STRDUP(ns_val, env);
+ address_impl->epr = epr;
address_impl->address.element.ops = NULL;
- address_impl->address.ops = AXIS2_MALLOC(env->allocator,
- sizeof(sandesha2_address_ops_t));
- if(NULL == address_impl->address.ops)
- {
- sandesha2_address_free((sandesha2_iom_rm_element_t*)
- address_impl, env);
- AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- return NULL;
- }
address_impl->address.element.ops = AXIS2_MALLOC(env->allocator,
sizeof(sandesha2_iom_rm_element_ops_t));
- if(NULL == address_impl->address.element.ops)
+ if(!address_impl->address.element.ops)
{
sandesha2_address_free((sandesha2_iom_rm_element_t*)
- address_impl, env);
+ address_impl, env);
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
- address_impl->ns_val = (axis2_char_t *)AXIS2_STRDUP(ns_val, env);
- address_impl->epr = epr;
address_impl->address.element.ops->get_namespace_value =
sandesha2_address_get_namespace_value;
@@ -113,58 +98,51 @@
sandesha2_address_to_om_node;
address_impl->address.element.ops->is_namespace_supported =
sandesha2_address_is_namespace_supported;
- address_impl->address.ops->get_epr = sandesha2_address_get_epr;
- address_impl->address.ops->set_epr = sandesha2_address_set_epr;
address_impl->address.element.ops->free = sandesha2_address_free;
- address_impl->address.ops->get_epr = sandesha2_address_get_epr;
- address_impl->address.ops->set_epr = sandesha2_address_set_epr;
return &(address_impl->address);
}
axis2_status_t AXIS2_CALL
-sandesha2_address_free (sandesha2_iom_rm_element_t *address,
- const axis2_env_t *env)
+sandesha2_address_free (
+ sandesha2_iom_rm_element_t *address,
+ const axis2_env_t *env)
{
sandesha2_address_impl_t *address_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
address_impl = SANDESHA2_INTF_TO_IMPL(address);
- if(NULL != address_impl->ns_val)
+ if(address_impl->ns_val)
{
AXIS2_FREE(env->allocator, address_impl->ns_val);
address_impl->ns_val = NULL;
}
address_impl->epr = NULL;
- if(NULL != address_impl->address.element.ops)
+ if(address_impl->address.element.ops)
{
AXIS2_FREE(env->allocator, address_impl->address.element.ops);
address_impl->address.element.ops = NULL;
}
- if(NULL != address_impl->address.ops)
- {
- AXIS2_FREE(env->allocator, address_impl->address.ops);
- address_impl->address.ops = NULL;
- }
AXIS2_FREE(env->allocator, SANDESHA2_INTF_TO_IMPL(address));
return AXIS2_SUCCESS;
}
axis2_char_t* AXIS2_CALL
-sandesha2_address_get_namespace_value (sandesha2_iom_rm_element_t *element,
- const axis2_env_t *env)
+sandesha2_address_get_namespace_value (
+ sandesha2_iom_rm_element_t *element,
+ const axis2_env_t *env)
{
sandesha2_address_impl_t *address_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
-
address_impl = SANDESHA2_INTF_TO_IMPL(element);
return address_impl->ns_val;
}
void* AXIS2_CALL
-sandesha2_address_from_om_node(sandesha2_iom_rm_element_t *address,
- const axis2_env_t *env, axiom_node_t *om_node)
+sandesha2_address_from_om_node(
+ sandesha2_iom_rm_element_t *address,
+ const axis2_env_t *env, axiom_node_t *om_node)
{
sandesha2_address_impl_t *address_impl = NULL;
axiom_element_t *om_element = NULL;
@@ -175,38 +153,37 @@
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, om_node, NULL);
-
address_impl = SANDESHA2_INTF_TO_IMPL(address);
om_element = AXIOM_NODE_GET_DATA_ELEMENT(om_node, env);
- if(NULL == om_element)
+ if(!om_element)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_FAILURE);
return NULL;
}
addr_qname = axis2_qname_create(env, SANDESHA2_WSA_ADDRESS,
- address_impl->ns_val, NULL);
- if(NULL == addr_qname)
+ address_impl->ns_val, NULL);
+ if(!addr_qname)
{
return NULL;
}
addr_part = AXIOM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(om_element, env,
- addr_qname, om_node, &addr_node);
- if(NULL == addr_part)
+ addr_qname, om_node, &addr_node);
+ if(!addr_part)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_FAILURE);
return NULL;
}
str_address = AXIOM_ELEMENT_GET_TEXT(addr_part, env, addr_node);
- if(NULL == str_address || 0 == AXIS2_STRLEN(str_address))
+ if(!str_address || 0 == AXIS2_STRLEN(str_address))
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_EMPTY_OM_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_FAILURE);
return NULL;
}
address_impl->epr = axis2_endpoint_ref_create(env, str_address);
- if(NULL == address_impl->epr)
+ if(!address_impl->epr)
{
return NULL;
}
@@ -215,8 +192,10 @@
axiom_node_t* AXIS2_CALL
-sandesha2_address_to_om_node(sandesha2_iom_rm_element_t *address,
- const axis2_env_t *env, void *om_node)
+sandesha2_address_to_om_node(
+ sandesha2_iom_rm_element_t *address,
+ const axis2_env_t *env,
+ void *om_node)
{
sandesha2_address_impl_t *address_impl = NULL;
axiom_namespace_t *rm_ns = NULL;
@@ -225,42 +204,42 @@
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, om_node, NULL);
-
address_impl = SANDESHA2_INTF_TO_IMPL(address);
- if(NULL == address_impl->epr || NULL == AXIS2_ENDPOINT_REF_GET_ADDRESS(
- address_impl->epr, env) || 0 == AXIS2_STRLEN(
- AXIS2_ENDPOINT_REF_GET_ADDRESS(address_impl->epr, env)))
+ if(!address_impl->epr || !AXIS2_ENDPOINT_REF_GET_ADDRESS(
+ address_impl->epr, env) || 0 == AXIS2_STRLEN(
+ AXIS2_ENDPOINT_REF_GET_ADDRESS(address_impl->epr, env)))
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_FAILURE);
return NULL;
}
rm_ns = axiom_namespace_create(env, address_impl->ns_val,
- SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
- if(NULL == rm_ns)
+ SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
+ if(!rm_ns)
{
return NULL;
}
addr_element = axiom_element_create(env, NULL,
- SANDESHA2_WSA_ADDRESS, rm_ns, &addr_node);
- if(NULL == addr_element)
+ SANDESHA2_WSA_ADDRESS, rm_ns, &addr_node);
+ if(!addr_element)
{
return NULL;
}
AXIOM_ELEMENT_SET_TEXT(addr_element, env,
- AXIS2_ENDPOINT_REF_GET_ADDRESS(address_impl->epr, env),
- addr_node);
+ AXIS2_ENDPOINT_REF_GET_ADDRESS(address_impl->epr, env),
+ addr_node);
AXIOM_NODE_ADD_CHILD((axiom_node_t*)om_node, env, addr_node);
return (axiom_node_t*)om_node;
}
axis2_bool_t AXIS2_CALL
-sandesha2_address_is_namespace_supported(sandesha2_iom_rm_element_t *address,
- const axis2_env_t *env, axis2_char_t *namespace)
+sandesha2_address_is_namespace_supported(
+ sandesha2_iom_rm_element_t *address,
+ const axis2_env_t *env,
+ axis2_char_t *namespace)
{
sandesha2_address_impl_t *address_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
-
address_impl = SANDESHA2_INTF_TO_IMPL(address);
if(0 == AXIS2_STRCMP(namespace, SANDESHA2_SPEC_2005_02_NS_URI))
{
@@ -274,26 +253,28 @@
}
axis2_endpoint_ref_t * AXIS2_CALL
-sandesha2_address_get_epr(sandesha2_address_t *address,
- const axis2_env_t *env)
+sandesha2_address_get_epr(
+ sandesha2_address_t *address,
+ const axis2_env_t *env)
{
sandesha2_address_impl_t *address_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
-
address_impl = SANDESHA2_INTF_TO_IMPL(address);
return address_impl->epr;
}
axis2_status_t AXIS2_CALL
-sandesha2_address_set_epr(sandesha2_address_t *address,
- const axis2_env_t *env, axis2_endpoint_ref_t *epr)
+sandesha2_address_set_epr(
+ sandesha2_address_t *address,
+ const axis2_env_t *env,
+ axis2_endpoint_ref_t *epr)
{
sandesha2_address_impl_t *address_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, epr, AXIS2_FAILURE);
-
address_impl = SANDESHA2_INTF_TO_IMPL(address);
address_impl->epr = epr;
return AXIS2_SUCCESS;
}
+
Modified: webservices/sandesha/trunk/c/src/wsrm/make_connection.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/make_connection.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/make_connection.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/make_connection.c Sun Nov 19 23:28:53 2006
@@ -17,6 +17,7 @@
#include <sandesha2_make_connection.h>
#include <sandesha2_constants.h>
#include <axiom_soap_header.h>
+#include <axiom_soap_body.h>
#include <axiom_soap_header_block.h>
/**
@@ -218,7 +219,7 @@
{
return NULL;
}
- address_qname = axis2_qname_create(env, SANDESHA2_WSRM_COMMON_ADDRESS,
+ address_qname = axis2_qname_create(env, SANDESHA2_WSA_ADDRESS,
make_conn_impl->ns_val, NULL);
if(!address_qname)
{
@@ -231,7 +232,7 @@
if(!identifier_element && !address_element)
{
AXIS2_ERROR_SET(env->error,
- ANDESHA2_ERROR_MAKE_CONNECTION_ELEMENT_SHOULD_HAVE_AT_LEAST_ADDRESS_OR_IDENTIFIER,
+ SANDESHA2_ERROR_MAKE_CONNECTION_ELEMENT_SHOULD_HAVE_AT_LEAST_ADDRESS_OR_IDENTIFIER,
AXIS2_FAILURE);
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "MakeConnection element " \
"should have at lease one of Address and Identifier subelements");
@@ -251,7 +252,7 @@
if(address_element)
{
make_conn_impl->address = sandesha2_address_create(env,
- make_conn_impl->ns_val);
+ make_conn_impl->ns_val, NULL);
if(!make_conn_impl->address)
{
return NULL;
@@ -308,7 +309,7 @@
sandesha2_iom_rm_element_to_om_node((sandesha2_iom_rm_element_t *)
make_conn_impl->address, env, make_conn_node);
AXIOM_SOAP_BODY_ADD_CHILD(soap_body, env, make_conn_node);
- return body;
+ return AXIOM_SOAP_BODY_GET_BASE_NODE(soap_body, env);
}
static axis2_bool_t AXIS2_CALL
@@ -413,7 +414,7 @@
}
if(body_element)
element = AXIOM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(body_element, env,
- make_conn_qname, om_node, &node);
+ make_conn_qname, body_node, &node);
/**
* Detach if already exists
*/
Modified: webservices/sandesha/trunk/c/src/wsrm/msg_pending.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/msg_pending.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/msg_pending.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/msg_pending.c Sun Nov 19 23:28:53 2006
@@ -45,13 +45,13 @@
sandesha2_msg_pending_from_om_node(
sandesha2_iom_rm_element_t *msg_pending,
const axis2_env_t *env,
- axiom_node_t *om_node);
+ axiom_node_t *msg_pending_node);
static axiom_node_t* AXIS2_CALL
sandesha2_msg_pending_to_om_node(
sandesha2_iom_rm_element_t *msg_pending,
const axis2_env_t *env,
- void *om_node);
+ void *header_node);
static axis2_bool_t AXIS2_CALL
sandesha2_msg_pending_is_namespace_supported(
@@ -187,21 +187,21 @@
sandesha2_msg_pending_from_om_node(
sandesha2_iom_rm_element_t *msg_pending,
const axis2_env_t *env,
- axiom_node_t *om_node)
+ axiom_node_t *msg_pending_node)
{
sandesha2_msg_pending_impl_t *msg_pending_impl = NULL;
- axiom_element_t *om_element = NULL;
+ axiom_element_t *msg_pending_element = NULL;
axis2_qname_t *pending_qname = NULL;
axis2_char_t *value = NULL;
axiom_attribute_t *pending_attr = NULL;
axis2_bool_t pending = AXIS2_FALSE;
AXIS2_ENV_CHECK(env, NULL);
- AXIS2_PARAM_CHECK(env->error, om_node, NULL);
+ AXIS2_PARAM_CHECK(env->error, msg_pending_node, NULL);
msg_pending_impl = SANDESHA2_INTF_TO_IMPL(msg_pending);
- om_element = AXIOM_NODE_GET_DATA_ELEMENT(om_node, env);
- if(!om_element)
+ msg_pending_element = AXIOM_NODE_GET_DATA_ELEMENT(msg_pending_node, env);
+ if(!msg_pending_element)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,
AXIS2_FAILURE);
@@ -213,7 +213,7 @@
{
return NULL;
}
- pending_attr = AXIOM_ELEMENT_GET_ATTRIBUTE(om_element, env, pending_qname);
+ pending_attr = AXIOM_ELEMENT_GET_ATTRIBUTE(msg_pending_element, env, pending_qname);
if(!pending_attr)
{
AXIS2_ERROR_LOG(env->log, AXIS2_LOG_SI, "MessagePending header must" \
@@ -236,14 +236,14 @@
AXIS2_FAILURE);
}
- return msg_pending;
+ return msg_pending_node;
}
static axiom_node_t* AXIS2_CALL
sandesha2_msg_pending_to_om_node(
sandesha2_iom_rm_element_t *msg_pending,
const axis2_env_t *env,
- void *om_node)
+ void *header_node)
{
sandesha2_msg_pending_impl_t *msg_pending_impl = NULL;
axiom_namespace_t *rm_ns = NULL;
@@ -254,10 +254,10 @@
axis2_bool_t pending = AXIS2_FALSE;
AXIS2_ENV_CHECK(env, NULL);
- AXIS2_PARAM_CHECK(env->error, om_node, NULL);
+ AXIS2_PARAM_CHECK(env->error, header_node, NULL);
msg_pending_impl = SANDESHA2_INTF_TO_IMPL(msg_pending);
- soap_header = (axiom_soap_header_t*)om_node;
+ soap_header = (axiom_soap_header_t*)header_node;
rm_ns = axiom_namespace_create(env, msg_pending_impl->ns_val,
SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
if(!rm_ns)
@@ -277,7 +277,7 @@
attr_value = SANDESHA2_VALUE_FALSE;
AXIOM_SOAP_HEADER_BLOCK_SET_ATTRIBUTE(msg_pending_block, env,
SANDESHA2_WSRM_COMMON_MESSAGE_PENDING, attr_value, NULL);
- return msg_pending_node;
+ return header_node;
}
static axis2_bool_t AXIS2_CALL
Modified: webservices/sandesha/trunk/c/src/wsrm/rm_elements.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/rm_elements.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/rm_elements.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/rm_elements.c Sun Nov 19 23:28:53 2006
@@ -795,19 +795,19 @@
if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_02_ACTION_TERMINATE_SEQ))
return SANDESHA2_SPEC_2005_02_NS_URI;
- if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_10_ACTION_CREATE_SEQ))
+ if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2006_08_ACTION_CREATE_SEQ))
return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_10_ACTION_CREATE_SEQ_RESPONSE))
+ if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2006_08_ACTION_CREATE_SEQ_RESPONSE))
return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_10_ACTION_SEQ_ACKNOWLEDGEMENT))
+ if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2006_08_ACTION_SEQ_ACKNOWLEDGEMENT))
return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_10_ACTION_TERMINATE_SEQ))
+ if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2006_08_ACTION_TERMINATE_SEQ))
return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_10_ACTION_CLOSE_SEQ))
+ if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2006_08_ACTION_CLOSE_SEQ))
return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_10_ACTION_TERMINATE_SEQ_RESPONSE))
+ if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2006_08_ACTION_TERMINATE_SEQ_RESPONSE))
return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2005_10_ACTION_CLOSE_SEQ_RESPONSE))
+ if(0 == AXIS2_STRCMP(action, SANDESHA2_SPEC_2006_08_ACTION_CLOSE_SEQ_RESPONSE))
return SANDESHA2_SPEC_2006_08_NS_URI;
return NULL;
Modified: webservices/sandesha/trunk/c/src/wsrm/sequence.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/sequence.c?view=diff&rev=477088&r1=477087&r2=477088
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/sequence.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/sequence.c Sun Nov 19 23:28:53 2006
@@ -40,28 +40,38 @@
/***************************** Function headers *******************************/
static axis2_char_t* AXIS2_CALL
-sandesha2_seq_get_namespace_value (sandesha2_iom_rm_element_t *seq,
- const axis2_env_t *env);
+sandesha2_seq_get_namespace_value (
+ sandesha2_iom_rm_element_t *seq,
+ const axis2_env_t *env);
static void* AXIS2_CALL
-sandesha2_seq_from_om_node(sandesha2_iom_rm_element_t *seq,
- const axis2_env_t *env, axiom_node_t *om_node);
+sandesha2_seq_from_om_node(
+ sandesha2_iom_rm_element_t *seq,
+ const axis2_env_t *env,
+ axiom_node_t *om_node);
static axiom_node_t* AXIS2_CALL
-sandesha2_seq_to_om_node(sandesha2_iom_rm_element_t *seq,
- const axis2_env_t *env, void *om_node);
+sandesha2_seq_to_om_node(
+ sandesha2_iom_rm_element_t *seq,
+ const axis2_env_t *env,
+ void *om_node);
static axis2_bool_t AXIS2_CALL
-sandesha2_seq_is_namespace_supported(sandesha2_iom_rm_element_t *seq,
- const axis2_env_t *env, axis2_char_t *namespace);
+sandesha2_seq_is_namespace_supported(
+ sandesha2_iom_rm_element_t *seq,
+ const axis2_env_t *env,
+ axis2_char_t *namespace);
+
static axis2_status_t AXIS2_CALL
-sandesha2_seq_to_soap_env(sandesha2_iom_rm_part_t *seq,
- const axis2_env_t *env,
- axiom_soap_envelope_t *envelope);
+sandesha2_seq_to_soap_env(
+ sandesha2_iom_rm_part_t *seq,
+ const axis2_env_t *env,
+ axiom_soap_envelope_t *envelope);
static axis2_status_t AXIS2_CALL
-sandesha2_seq_free (sandesha2_iom_rm_element_t *seq,
- const axis2_env_t *env);
+sandesha2_seq_free (
+ sandesha2_iom_rm_element_t *seq,
+ const axis2_env_t *env);
/***************************** End of function headers ************************/
@@ -83,7 +93,7 @@
seq_impl = (sandesha2_seq_impl_t *)AXIS2_MALLOC
(env->allocator, sizeof(sandesha2_seq_impl_t));
- if(NULL == seq_impl)
+ if(!seq_impl)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
@@ -98,7 +108,7 @@
seq_impl->seq.part.ops = AXIS2_MALLOC(env->allocator,
sizeof(sandesha2_iom_rm_part_ops_t));
- if(NULL == seq_impl->seq.part.ops)
+ if(!seq_impl->seq.part.ops)
{
sandesha2_seq_free((sandesha2_iom_rm_element_t*)
seq_impl, env);
@@ -107,7 +117,7 @@
}
seq_impl->seq.part.element.ops = AXIS2_MALLOC(env->allocator,
sizeof(sandesha2_iom_rm_element_ops_t));
- if(NULL == seq_impl->seq.part.element.ops)
+ if(!seq_impl->seq.part.element.ops)
{
sandesha2_seq_free((sandesha2_iom_rm_element_t*)
seq_impl, env);
@@ -154,7 +164,7 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
seq_impl = SANDESHA2_INTF_TO_IMPL(seq);
- if(NULL != seq_impl->ns_val)
+ if(seq_impl->ns_val)
{
AXIS2_FREE(env->allocator, seq_impl->ns_val);
seq_impl->ns_val = NULL;
@@ -162,7 +172,7 @@
seq_impl->identifier = NULL;
seq_impl->msg_num = NULL;
seq_impl->last_msg = NULL;
- if(NULL != seq->ops)
+ if(seq->ops)
AXIS2_FREE(env->allocator, seq->ops);
AXIS2_FREE(env->allocator, SANDESHA2_INTF_TO_IMPL(seq));
@@ -202,7 +212,7 @@
seq_impl = SANDESHA2_INTF_TO_IMPL(seq);
om_element = AXIOM_NODE_GET_DATA_ELEMENT(om_node, env);
- if(NULL == om_element)
+ if(!om_element)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,
AXIS2_FAILURE);
@@ -210,13 +220,13 @@
}
seq_qname = axis2_qname_create(env, SANDESHA2_WSRM_COMMON_SEQ,
seq_impl->ns_val, NULL);
- if(NULL == seq_qname)
+ if(!seq_qname)
{
return NULL;
}
seq_part = AXIOM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(om_element, env,
seq_qname, om_node, &seq_node);
- if(NULL == seq_part)
+ if(!seq_part)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,
AXIS2_FAILURE);
@@ -224,7 +234,7 @@
}
seq_impl->identifier = sandesha2_identifier_create(env,
seq_impl->ns_val);
- if(NULL == seq_impl->identifier)
+ if(!seq_impl->identifier)
{
return NULL;
}
@@ -232,24 +242,24 @@
seq_node);
seq_impl->msg_num= sandesha2_msg_number_create(env,
seq_impl->ns_val);
- if(NULL == seq_impl->msg_num)
+ if(!seq_impl->msg_num)
{
return NULL;
}
sandesha2_iom_rm_element_from_om_node((sandesha2_iom_rm_element_t *)seq_impl->msg_num, env, seq_node);
lm_qname = axis2_qname_create(env, SANDESHA2_WSRM_COMMON_LAST_MSG,
seq_impl->ns_val, NULL);
- if(NULL == lm_qname)
+ if(!lm_qname)
{
return NULL;
}
lm_part = AXIOM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(seq_part, env,
lm_qname, seq_node, &lm_node);
- if(NULL != lm_part)
+ if(lm_part)
{
seq_impl->last_msg = sandesha2_last_msg_create(env,
seq_impl->ns_val);
- if(NULL == seq_impl->last_msg)
+ if(!seq_impl->last_msg)
{
return NULL;
}
@@ -276,7 +286,7 @@
seq_impl = SANDESHA2_INTF_TO_IMPL(seq);
soap_header = (axiom_soap_header_t*)om_node;
- if(NULL == seq_impl->identifier || NULL == seq_impl->msg_num)
+ if(!seq_impl->identifier || !seq_impl->msg_num)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT,
AXIS2_FAILURE);
@@ -284,13 +294,13 @@
}
rm_ns = axiom_namespace_create(env, seq_impl->ns_val,
SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
- if(NULL == rm_ns)
+ if(!rm_ns)
{
return NULL;
}
seq_block = AXIOM_SOAP_HEADER_ADD_HEADER_BLOCK(soap_header, env,
SANDESHA2_WSRM_COMMON_SEQ, rm_ns);
- if(NULL == seq_block)
+ if(!seq_block)
{
return NULL;
}
@@ -299,7 +309,7 @@
seq_node = AXIOM_SOAP_HEADER_BLOCK_GET_BASE_NODE(seq_block, env);
sandesha2_iom_rm_element_to_om_node((sandesha2_iom_rm_element_t *)seq_impl->identifier, env, seq_node);
sandesha2_iom_rm_element_to_om_node((sandesha2_iom_rm_element_t *)seq_impl->msg_num, env, seq_node);
- if(NULL != seq_impl->last_msg)
+ if(seq_impl->last_msg)
sandesha2_iom_rm_element_to_om_node((sandesha2_iom_rm_element_t *)seq_impl->last_msg, env,
seq_node);
return seq_node;
@@ -433,7 +443,8 @@
static axis2_status_t AXIS2_CALL
sandesha2_seq_to_soap_env(
sandesha2_iom_rm_part_t *seq,
- const axis2_env_t *env, axiom_soap_envelope_t *envelope)
+ const axis2_env_t *env,
+ axiom_soap_envelope_t *envelope)
{
sandesha2_seq_impl_t *seq_impl = NULL;
axiom_soap_header_t *soap_header = NULL;
@@ -449,7 +460,7 @@
*/
seq_qname = axis2_qname_create(env, SANDESHA2_WSRM_COMMON_SEQ,
seq_impl->ns_val, NULL);
- if(NULL == seq_qname)
+ if(!seq_qname)
{
return AXIS2_FAILURE;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org