You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by da...@apache.org on 2009/10/30 14:31:20 UTC
svn commit: r831290 [1/2] - in /webservices/sandesha/trunk/c: ./ include/
samples/rm_echo_1_0/ samples/rm_echo_1_1/ samples/rm_echo_single_1_0/
samples/rm_echo_single_1_1/ samples/rm_mtom_1_0/ samples/rm_ping_1_0/
samples/rm_ping_1_1/ src/client/ src/h...
Author: damitha
Date: Fri Oct 30 13:31:18 2009
New Revision: 831290
URL: http://svn.apache.org/viewvc?rev=831290&view=rev
Log:
Making client application side Sandesha2/C specific coding minimal. Improving code base by adding comments, meaningful names etc.
Modified:
webservices/sandesha/trunk/c/configure.ac
webservices/sandesha/trunk/c/include/sandesha2_constants.h
webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h
webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h
webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h
webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h
webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c
webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c
webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h
webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c
webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c
webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h
webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c
webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c
webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h
webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c
webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c
webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c
webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c
webservices/sandesha/trunk/c/src/client/client.c
webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c
webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/close_seq_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/close_seq_res_msg_processor.c
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/msgprocessors/terminate_seq_msg_processor.c
webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c
webservices/sandesha/trunk/c/src/storage/sqlite/permanent_bean_mgr.c
webservices/sandesha/trunk/c/src/storage/sqlite/permanent_create_seq_mgr.c
webservices/sandesha/trunk/c/src/util/ack_mgr.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/msg_init.c
webservices/sandesha/trunk/c/src/util/seq_mgr.c
webservices/sandesha/trunk/c/src/util/terminate_mgr.c
Modified: webservices/sandesha/trunk/c/configure.ac
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/configure.ac?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/configure.ac (original)
+++ webservices/sandesha/trunk/c/configure.ac Fri Oct 30 13:31:18 2009
@@ -1,7 +1,7 @@
dnl run autogen.sh to generate the configure script.
AC_PREREQ(2.59)
-AC_INIT(sandesha2c-src, 0.92)
+AC_INIT(sandesha2c-src, 0.91)
AC_CANONICAL_SYSTEM
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
@@ -21,7 +21,7 @@
CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
if test "$GCC" = "yes"; then
- CFLAGS="$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration -g"
+ CFLAGS="$CFLAGS -ansi -Wall -Wno-implicit-function-declaration -g"
fi
LDFLAGS="-lpthread"
@@ -65,6 +65,7 @@
AC_MSG_RESULT(no)
)
+
AXIOMINC="-I$abs_top_builddir/../axis2c/axiom/include"
UTILINC="-I$abs_top_builddir/../axis2c/util/include"
NEETHIINC="-I$abs_top_builddir/../axis2c/neethi/include"
@@ -73,17 +74,19 @@
AC_SUBST(UTILINC)
AC_SUBST(NEETHIINC)
+AC_SUBST(WRAPPER_DIR)
+
AC_CONFIG_FILES([Makefile \
src/Makefile \
src/util/Makefile \
- src/wsrm/Makefile \
- src/transport/Makefile \
- src/handlers/Makefile \
- src/msgprocessors/Makefile \
- src/storage/Makefile \
- src/storage/beans/Makefile \
+ src/wsrm/Makefile\
+ src/transport/Makefile\
+ src/handlers/Makefile\
+ src/msgprocessors/Makefile\
+ src/storage/Makefile\
+ src/storage/beans/Makefile\
src/storage/common/Makefile \
- src/storage/sqlite/Makefile \
+ src/storage/sqlite/Makefile\
src/client/Makefile \
src/core/Makefile \
src/polling/Makefile
Modified: webservices/sandesha/trunk/c/include/sandesha2_constants.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_constants.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_constants.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_constants.h Fri Oct 30 13:31:18 2009
@@ -266,11 +266,11 @@
#define SANDESHA2_SEQ_PROP_ACKS_TO_REF_PARAM "acksToRefParam"
- #define SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID "OutSequenceId"
+ #define SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID "OutgoingSequenceId"
- #define SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID "TempSequenceId"
+ #define SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID "OutgoingInternalSequenceId"
- #define SANDESHA2_SEQ_PROP_SPECIAL_INTERNAL_SEQ_ID "SpecialIntSequenceId"
+ #define SANDESHA2_SEQ_PROP_SPECIAL_INTERNAL_SEQUENCE_ID "SpecialIntSequenceId"
#define SANDESHA2_SEQ_PROP_REPLY_TO_EPR "ReplyToEPR"
@@ -308,7 +308,7 @@
#define SANDESHA2_SEQ_PROP_LAST_MESSAGE "LastMessage"
- #define SANDESHA2_SEQ_PROP_REQUEST_SIDE_SEQ_ID "RequestSideSequenceID" //used only at the server side
+ #define SANDESHA2_SEQ_PROP_REQUEST_SIDE_SEQUENCE_ID "RequestSideSequenceID" //used only at the server side
#define SANDESHA2_SEQ_PROP_HIGHEST_IN_MSG_NUMBER "HighestInMsgNumber"
Modified: webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_create_seq_bean.h Fri Oct 30 13:31:18 2009
@@ -64,7 +64,7 @@
const axutil_env_t *env);
void AXIS2_CALL
-sandesha2_create_seq_bean_set_rms_sequence_id (
+sandesha2_create_seq_bean_set_outgoing_sequence_id (
sandesha2_create_seq_bean_t *create_seq_bean,
const axutil_env_t *env,
axis2_char_t* seq_id) ;
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=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_msg_creator.h Fri Oct 30 13:31:18 2009
@@ -75,6 +75,23 @@
sandesha2_seq_property_mgr_t *seq_prop_mgr);
/**
+ * Create a new create_close_seq_msg
+ * @param env
+ * @param ref_rm_msg
+ * @param seq_id
+ * @param internal_seq_id
+ * @param seq_prop_mgr
+ * @return
+ */
+sandesha2_msg_ctx_t *AXIS2_CALL
+sandesha2_msg_creator_create_close_seq_msg(
+ const axutil_env_t *env,
+ sandesha2_msg_ctx_t *ref_rm_msg,
+ axis2_char_t *seq_id,
+ axis2_char_t *internal_seq_id,
+ sandesha2_seq_property_mgr_t *seq_prop_mgr);
+
+/**
* Create a new close_seq_response message.
* @param close_seq_msg
* @param out_msg
Modified: webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h Fri Oct 30 13:31:18 2009
@@ -45,7 +45,7 @@
*/
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-sandesha2_seq_mgr_setup_new_rmd_sequence(
+sandesha2_seq_mgr_setup_new_incoming_sequence(
const axutil_env_t *env,
sandesha2_msg_ctx_t *create_seq_msg,
struct sandesha2_seq_property_mgr *seq_prop_mgr,
@@ -71,7 +71,7 @@
/*axis2_conf_ctx_t *conf_ctx*/);
AXIS2_EXTERN axis2_status_t AXIS2_CALL
-sandesha2_seq_mgr_setup_new_rms_sequence(
+sandesha2_seq_mgr_setup_new_outgoing_sequence(
const axutil_env_t *env,
axis2_msg_ctx_t *first_app_msg,
axis2_char_t *int_seq_id,
Modified: webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_terminate_mgr.h Fri Oct 30 13:31:18 2009
@@ -112,6 +112,11 @@
struct sandesha2_create_seq_mgr *create_seq_mgr,
struct sandesha2_sender_mgr *sender_mgr);
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_terminate_mgr_process_response(
+ const axutil_env_t *env,
+ axis2_msg_ctx_t *msg_ctx,
+ sandesha2_storage_mgr_t *storage_mgr);
/** @} */
#ifdef __cplusplus
Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_0/rm_echo.c Fri Oct 30 13:31:18 2009
@@ -50,10 +50,6 @@
const axutil_env_t *env,
axis2_callback_t *callback);
-static void
-usage(
- axis2_char_t *prog_name);
-
int main(int argc, char** argv)
{
const axutil_env_t *env = NULL;
@@ -68,8 +64,6 @@
axutil_property_t *property = NULL;
axutil_string_t *soap_action = NULL;
axis2_char_t *seq_key = NULL;
- axis2_char_t *offered_seq_id = NULL;
- int c;
int i = 0;
neethi_policy_t *policy = NULL;
axis2_status_t status = AXIS2_FAILURE;
@@ -80,33 +74,21 @@
/* Set end point reference of echo service */
address = "http://127.0.0.1:9090/axis2/services/RM10SampleService";
- while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+ if (argc > 1)
{
-
- switch (c)
+ if (axutil_strcmp(argv[1], "-h") == 0)
{
- case 'a':
- address = optarg;
- break;
- case ':':
- fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
- usage(argv[0]);
- return -1;
- case '?':
- if (isprint(optopt))
- fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
- usage(argv[0]);
- return -1;
+ printf("Usage : %s [endpoint_url]\n", argv[0]);
+ printf("use -h for help\n");
+ return 0;
+ }
+ else
+ {
+ address = argv[1];
}
}
- if (axutil_strcmp(address, "-h") == 0)
- {
- printf("Usage : %s [endpoint_url] [offer]\n", argv[0]);
- printf("use -h for help\n");
- return 0;
- }
- printf ("Using endpoint : %s\n", address);
-
+ printf("Using endpoint : %s\n", address);
+
/* Create EPR with given address */
endpoint_ref = axis2_endpoint_ref_create(env, address);
@@ -167,17 +149,6 @@
axis2_options_set_soap_version(options, env, AXIOM_SOAP11);
- /* Offer sequence */
- offered_seq_id = axutil_uuid_gen(env);
- property = axutil_property_create(env);
- if(property)
- {
- axutil_property_set_value(property, env, axutil_strdup(env,
- offered_seq_id));
- axis2_options_set_property(options, env,
- SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
- }
-
/* RM Version 1.0 */
property = axutil_property_create_with_args(env, 3, 0, 0,
SANDESHA2_SPEC_VERSION_1_0);
@@ -212,14 +183,10 @@
axis2_svc_client_send_receive_non_blocking(svc_client, env, payload, callback1);
wait_on_callback(env, callback1);
}
-
axis2_svc_client_remove_all_headers(svc_client, env);
+ /*axis2_options_set_reply_to(options, env, NULL);*/
+ axis2_svc_client_close(svc_client, env);
- axis2_options_set_action(options, env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE);
- property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
- axis2_options_set_property(options, env, "Sandesha2LastMessage", property);
- axis2_svc_client_send_robust(svc_client, env, NULL);
-
AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
AXIS2_FREE(env->allocator, seq_key);
if (svc_client)
@@ -310,16 +277,3 @@
return;
}
-static void
-usage(
- axis2_char_t *prog_name)
-{
- fprintf(stdout, "\n Usage : %s", prog_name);
- fprintf(stdout, " [-a ADDRESS]");
- fprintf(stdout, " Options :\n");
- fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The" \
- " default is http://127.0.0.1:9090/axis2/services/RM10SampleService \n");
- fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-
Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.c Fri Oct 30 13:31:18 2009
@@ -20,15 +20,12 @@
axiom_node_t *
build_om_payload_for_echo_svc(
const axutil_env_t *env,
- axis2_char_t *text,
- axis2_char_t *seq)
+ axis2_char_t *text)
{
axiom_node_t *echo_om_node = NULL;
axiom_element_t* echo_om_ele = NULL;
axiom_node_t* text_om_node = NULL;
axiom_element_t * text_om_ele = NULL;
- axiom_node_t* seq_om_node = NULL;
- axiom_element_t * seq_om_ele = NULL;
axiom_namespace_t *ns1 = NULL;
axis2_char_t *ns = NULL;
@@ -37,9 +34,7 @@
ns1 = axiom_namespace_create (env, ns, "ns1");
echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node);
text_om_ele = axiom_element_create(env, echo_om_node, "Text", ns1, &text_om_node);
- seq_om_ele = axiom_element_create(env, echo_om_node, "Sequence", ns1, &seq_om_node);
axiom_element_set_text(text_om_ele, env, text, text_om_node);
- axiom_element_set_text(text_om_ele, env, seq, seq_om_node);
return echo_om_node;
}
Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_1/echo_util.h Fri Oct 30 13:31:18 2009
@@ -23,7 +23,6 @@
axiom_node_t *
build_om_payload_for_echo_svc(
const axutil_env_t *env,
- axis2_char_t *text,
- axis2_char_t *seq);
+ axis2_char_t *text);
#endif
Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c Fri Oct 30 13:31:18 2009
@@ -32,7 +32,7 @@
#include <neethi_util.h>
#include <neethi_policy.h>
-#define SANDESHA2_MAX_COUNT 4
+#define SANDESHA2_MAX_COUNT 8
/* on_complete callback function */
axis2_status_t AXIS2_CALL
@@ -51,10 +51,6 @@
const axutil_env_t *env,
axis2_callback_t *callback);
-static void
-usage(
- axis2_char_t *prog_name);
-
int main(int argc, char** argv)
{
const axutil_env_t *env = NULL;
@@ -66,52 +62,29 @@
axis2_svc_client_t* svc_client = NULL;
axiom_node_t *payload = NULL;
axis2_callback_t *callback = NULL;
- axis2_callback_t *callback2 = NULL;
axutil_property_t *property = NULL;
- axis2_char_t *offered_seq_id = NULL;
- axis2_bool_t offer = AXIS2_TRUE;
- axis2_char_t *seq_key = NULL;
- int i, c;
neethi_policy_t *policy = NULL;
axis2_status_t status = AXIS2_FAILURE;
+ int i = 0;
/* Set up the environment */
env = axutil_env_create_all("rm_echo_1_1.log", AXIS2_LOG_LEVEL_TRACE);
/* Set end point reference of echo service */
address = "http://127.0.0.1:9090/axis2/services/RM11SampleService";
- while ((c = AXIS2_GETOPT(argc, argv, ":a:o:")) != -1)
+ if (argc > 1)
{
-
- switch (c)
+ if (axutil_strcmp(argv[1], "-h") == 0)
{
- case 'a':
- address = optarg;
- break;
- case 'o': /* Sequence Offer */
- offer = AXIS2_ATOI(optarg);
- break;
- case ':':
- fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
- usage(argv[0]);
- return -1;
- case '?':
- if (isprint(optopt))
- {
- fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
- }
-
- usage(argv[0]);
- return -1;
+ printf("Usage : %s [endpoint_url]\n", argv[0]);
+ printf("use -h for help\n");
+ return 0;
}
- }
-
- if (axutil_strcmp(address, "-h") == 0)
- {
- printf("Usage : %s [endpoint_url] [offer]\n", argv[0]);
- printf("use -h for help\n");
- return 0;
- }
+ else
+ {
+ address = argv[1];
+ }
+ }
printf ("Using endpoint : %s\n", address);
@@ -178,30 +151,12 @@
axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING);
axis2_svc_client_engage_module(svc_client, env, "sandesha2");
- /* Offer sequence */
- if(offer)
- {
- offered_seq_id = axutil_uuid_gen(env);
- property = axutil_property_create(env);
- if(property)
- {
- axutil_property_set_value(property, env, axutil_strdup(env, offered_seq_id));
- axis2_options_set_property(options, env, SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
- }
- }
-
/* RM Version 1.1 */
property = axutil_property_create_with_args(env, 3, 0, 0, SANDESHA2_SPEC_VERSION_1_1);
if(property)
{
axis2_options_set_property(options, env, SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
}
- seq_key = axutil_uuid_gen(env);
- property = axutil_property_create_with_args(env, 3, 0, 0, seq_key);
- if(property)
- {
- axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, property);
- }
for(i = 1; i < 4; i++)
{
@@ -209,7 +164,7 @@
sprintf(echo_str, "%s%d", "echo", i);
- payload = build_om_payload_for_echo_svc(env, echo_str, seq_key);
+ payload = build_om_payload_for_echo_svc(env, echo_str);
callback = axis2_callback_create(env);
axis2_callback_set_on_complete(callback, rm_echo_callback_on_complete);
axis2_callback_set_on_error(callback, rm_echo_callback_on_error);
@@ -217,15 +172,10 @@
wait_on_callback(env, callback);
}
- AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
- callback2 = axis2_callback_create(env);
- axis2_callback_set_on_complete(callback2, rm_echo_callback_on_complete);
- axis2_callback_set_on_error(callback2, rm_echo_callback_on_error);
- sandesha2_client_terminate_seq_with_svc_client(env, svc_client, callback2);
+ axis2_svc_client_close(svc_client, env);
- AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
+ AXIS2_SLEEP(2 * 2 * SANDESHA2_MAX_COUNT);
- AXIS2_FREE(env->allocator, seq_key);
if (svc_client)
{
axis2_svc_client_free(svc_client, env);
@@ -312,19 +262,4 @@
return;
}
-static void
-usage(
- axis2_char_t *prog_name)
-{
- fprintf(stdout, "\n Usage : %s", prog_name);
- fprintf(stdout, " [-a ADDRESS]");
- fprintf(stdout, " [-o OFFER]");
- fprintf(stdout, " Options :\n");
- fprintf(stdout, "\t-o OFFER \t seq offer value.. Type 1 for sequence offer" \
- "feature. The default behaviour is no offer(0). \n");
- fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The" \
- " default is http://127.0.0.1:9090/axis2/services/RM11SampleService \n");
- fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.c Fri Oct 30 13:31:18 2009
@@ -20,15 +20,12 @@
axiom_node_t *
build_om_payload_for_echo_svc(
const axutil_env_t *env,
- axis2_char_t *text,
- axis2_char_t *seq)
+ axis2_char_t *text)
{
axiom_node_t *echo_om_node = NULL;
axiom_element_t* echo_om_ele = NULL;
axiom_node_t* text_om_node = NULL;
axiom_element_t * text_om_ele = NULL;
- axiom_node_t* seq_om_node = NULL;
- axiom_element_t * seq_om_ele = NULL;
axiom_namespace_t *ns1 = NULL;
axis2_char_t *ns = NULL;
@@ -37,9 +34,7 @@
ns1 = axiom_namespace_create (env, ns, "ns1");
echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node);
text_om_ele = axiom_element_create(env, echo_om_node, "Text", NULL, &text_om_node);
- seq_om_ele = axiom_element_create(env, echo_om_node, "Sequence", NULL, &seq_om_node);
axiom_element_set_text(text_om_ele, env, text, text_om_node);
- axiom_element_set_text(seq_om_ele, env, seq, seq_om_node);
return echo_om_node;
}
Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/echo_util.h Fri Oct 30 13:31:18 2009
@@ -23,7 +23,6 @@
axiom_node_t *
build_om_payload_for_echo_svc(
const axutil_env_t *env,
- axis2_char_t *text,
- axis2_char_t *seq);
+ axis2_char_t *text);
#endif
Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_0/rm_echo_single.c Fri Oct 30 13:31:18 2009
@@ -33,10 +33,6 @@
#define SANDESHA2_MAX_COUNT 2
-static void
-usage(
- axis2_char_t *prog_name);
-
int main(int argc, char** argv)
{
const axutil_env_t *env = NULL;
@@ -46,13 +42,11 @@
const axis2_char_t *client_home = NULL;
axis2_svc_client_t* svc_client = NULL;
axutil_property_t *property = NULL;
- axis2_char_t *offered_seq_id = NULL;
axiom_node_t *result = NULL;
axutil_string_t *soap_action = NULL;
- axis2_char_t *seq_key = NULL;
axis2_status_t status = AXIS2_FAILURE;
neethi_policy_t *policy = NULL;
- int c, i;
+ int i;
axis2_endpoint_ref_t *reply_to = NULL;
/* Set up the environment */
@@ -61,30 +55,18 @@
/* Set end point reference of echo service */
address = "http://127.0.0.1:9090/axis2/services/RM10SampleService";
- while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+ if (argc > 1)
{
-
- switch (c)
+ if (axutil_strcmp(argv[1], "-h") == 0)
{
- case 'a':
- address = optarg;
- break;
- case ':':
- fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
- usage(argv[0]);
- return -1;
- case '?':
- if (isprint(optopt))
- fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
- usage(argv[0]);
- return -1;
+ printf("Usage : %s [endpoint_url]\n", argv[0]);
+ printf("use -h for help\n");
+ return 0;
+ }
+ else
+ {
+ address = argv[1];
}
- }
- if (axutil_strcmp(address, "-h") == 0)
- {
- printf("Usage : %s [endpoint_url] [offer]\n", argv[0]);
- printf("use -h for help\n");
- return 0;
}
printf ("Using endpoint : %s\n", address);
@@ -151,16 +133,6 @@
axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING);
axis2_svc_client_engage_module(svc_client, env, "sandesha2");
- /* Offer sequence */
- offered_seq_id = axutil_uuid_gen(env);
- property = axutil_property_create(env);
- if(property)
- {
- axutil_property_set_value(property, env, axutil_strdup(env,
- offered_seq_id));
- axis2_options_set_property(options, env,
- SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
- }
/* RM Version 1.0 */
property = axutil_property_create_with_args(env, 3, 0, 0,
SANDESHA2_SPEC_VERSION_1_0);
@@ -169,13 +141,6 @@
axis2_options_set_property(options, env,
SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
}
- seq_key = axutil_uuid_gen(env);
- property = axutil_property_create_with_args(env, 0, 0, 0, seq_key);
- if(property)
- {
- axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY,
- property);
- }
property = axutil_property_create_with_args(env, 0, 0, 0, "12");
if(property)
@@ -190,19 +155,11 @@
axis2_char_t echo_str[7];
sprintf(echo_str, "%s%d", "echo", i);
- payload = build_om_payload_for_echo_svc(env, echo_str, seq_key);
+ payload = build_om_payload_for_echo_svc(env, echo_str);
result = axis2_svc_client_send_receive(svc_client, env, payload);
if(result)
{
- axis2_char_t *om_str = NULL;
- om_str = axiom_node_to_string(result, env);
- if (om_str)
- {
- printf("\nReceived OM : %s\n", om_str);
- AXIS2_FREE(env->allocator, om_str);
- }
printf("\necho client two way single channel invoke SUCCESSFUL!\n");
- result = NULL;
}
else
{
@@ -210,26 +167,9 @@
}
}
- axis2_options_set_action(options, env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE);
- property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
- axis2_options_set_property(options, env, "Sandesha2LastMessage", property);
- status = axis2_svc_client_send_robust(svc_client, env, NULL);
- if(AXIS2_SUCCESS == status)
- {
- printf("\necho client two way single channel invoke SUCCESSFUL!\n");
- }
- else
- {
- printf("\necho client two way single channel invoke FAILED!\n");
- }
+ axis2_svc_client_close(svc_client, env);
AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
- AXIS2_FREE(env->allocator, seq_key);
-
- if(offered_seq_id)
- {
- AXIS2_FREE(env->allocator, offered_seq_id);
- }
if (svc_client)
{
@@ -246,15 +186,3 @@
return 0;
}
-static void
-usage(
- axis2_char_t *prog_name)
-{
- fprintf(stdout, "\n Usage : %s", prog_name);
- fprintf(stdout, " [-a ADDRESS]");
- fprintf(stdout, " Options :\n");
- fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The" \
- " default is http://127.0.0.1:9090/axis2/services/RM10SampleService \n");
- fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.c Fri Oct 30 13:31:18 2009
@@ -20,15 +20,12 @@
axiom_node_t *
build_om_payload_for_echo_svc(
const axutil_env_t *env,
- axis2_char_t *text,
- axis2_char_t *seq)
+ axis2_char_t *text)
{
axiom_node_t *echo_om_node = NULL;
axiom_element_t* echo_om_ele = NULL;
axiom_node_t* text_om_node = NULL;
axiom_element_t * text_om_ele = NULL;
- axiom_node_t* seq_om_node = NULL;
- axiom_element_t * seq_om_ele = NULL;
axiom_namespace_t *ns1 = NULL;
axis2_char_t *ns = NULL;
@@ -37,9 +34,7 @@
ns1 = axiom_namespace_create (env, ns, "ns1");
echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node);
text_om_ele = axiom_element_create(env, echo_om_node, "Text", ns1, &text_om_node);
- seq_om_ele = axiom_element_create(env, echo_om_node, "Sequence", ns1, &seq_om_node);
axiom_element_set_text(text_om_ele, env, text, text_om_node);
- axiom_element_set_text(text_om_ele, env, seq, seq_om_node);
return echo_om_node;
}
Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/echo_util.h Fri Oct 30 13:31:18 2009
@@ -23,7 +23,6 @@
axiom_node_t *
build_om_payload_for_echo_svc(
const axutil_env_t *env,
- axis2_char_t *text,
- axis2_char_t *seq);
+ axis2_char_t *text);
#endif
Modified: webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c Fri Oct 30 13:31:18 2009
@@ -34,10 +34,6 @@
#define SANDESHA2_SLEEP 4
-static void
-usage(
- axis2_char_t *prog_name);
-
int main(int argc, char** argv)
{
const axutil_env_t *env = NULL;
@@ -50,9 +46,7 @@
axiom_node_t *payload = NULL;
axutil_property_t *property = NULL;
axis2_listener_manager_t *listener_manager = NULL;
- axis2_char_t *offered_seq_id = NULL;
- axis2_char_t *seq_key = NULL;
- int i, c;
+ int i;
axis2_status_t status = AXIS2_FAILURE;
axiom_node_t *result = NULL;
neethi_policy_t *policy = NULL;
@@ -64,35 +58,19 @@
/* Set end point reference of echo service */
/*address = "http://127.0.0.1:9090/axis2/services/RM11SampleService";*/
address = "http://127.0.0.1:9090/axis2/services/RM11SampleService";
- while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+ if (argc > 1)
{
-
- switch (c)
+ if (axutil_strcmp(argv[1], "-h") == 0)
{
- case 'a':
- address = optarg;
- break;
- case ':':
- fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
- usage(argv[0]);
- return -1;
- case '?':
- if (isprint(optopt))
- {
- fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
- }
- usage(argv[0]);
- return -1;
+ printf("Usage : %s [endpoint_url]\n", argv[0]);
+ printf("use -h for help\n");
+ return 0;
+ }
+ else
+ {
+ address = argv[1];
}
}
-
- if (axutil_strcmp(address, "-h") == 0)
- {
- printf("Usage : %s [endpoint_url] [offer]\n", argv[0]);
- printf("use -h for help\n");
- return 0;
- }
-
printf ("Using endpoint : %s\n", address);
/* Create EPR with given address */
@@ -161,15 +139,6 @@
return AXIS2_FAILURE;
}
- /* Offer sequence */
- offered_seq_id = axutil_uuid_gen(env);
- property = axutil_property_create(env);
- if(property)
- {
- axutil_property_set_value(property, env, axutil_strdup(env, offered_seq_id));
- axis2_options_set_property(options, env, SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
- }
-
/* RM Version 1.1 */
property = axutil_property_create_with_args(env, 3, 0, 0, SANDESHA2_SPEC_VERSION_1_1);
if(property)
@@ -177,18 +146,11 @@
axis2_options_set_property(options, env, SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
}
- seq_key = axutil_uuid_gen(env);
- property = axutil_property_create_with_args(env, 3, 0, 0, seq_key);
- if(property)
- {
- axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, property);
- }
-
for(i = 1; i < 4; i++)
{
axis2_char_t echo_str[7];
sprintf(echo_str, "%s%d", "echo", i);
- payload = build_om_payload_for_echo_svc(env, echo_str, seq_key);
+ payload = build_om_payload_for_echo_svc(env, echo_str);
result = axis2_svc_client_send_receive(svc_client, env, payload);
if(result)
{
@@ -210,7 +172,7 @@
AXIS2_SLEEP(SANDESHA2_SLEEP);
- sandesha2_client_terminate_seq_with_svc_client_and_seq_key(env, svc_client, NULL, seq_key);
+ axis2_svc_client_close(svc_client, env);
AXIS2_SLEEP(6 * SANDESHA2_SLEEP);
@@ -223,16 +185,3 @@
return 0;
}
-static void
-usage(
- axis2_char_t *prog_name)
-{
- fprintf(stdout, "\n Usage : %s", prog_name);
- fprintf(stdout, " [-a ADDRESS]");
- fprintf(stdout, " Options :\n");
- fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The" \
- " default is http://127.0.0.1:9090/axis2/services/RM11SampleService \n");
- fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-
Modified: webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_mtom_1_0/rm_mtom_1_0.c Fri Oct 30 13:31:18 2009
@@ -32,9 +32,6 @@
#include <neethi_util.h>
#define SANDESHA2_MAX_COUNT 8
-void
-usage(
- axis2_char_t *prog_name);
axiom_node_t *build_om_programatically(
const axutil_env_t * env,
@@ -54,11 +51,8 @@
axutil_property_t *property = NULL;
axiom_node_t *result = NULL;
axutil_string_t *soap_action = NULL;
- int c;
const axis2_char_t *image_name = "../resources/axis2.jpg";
- axis2_char_t *seq_key = NULL;
axis2_bool_t optimized = AXIS2_TRUE;
- axis2_char_t *offered_seq_id = NULL;
neethi_policy_t *policy = NULL;
axis2_status_t status = AXIS2_FAILURE;
@@ -67,29 +61,18 @@
/* Set end point reference of echo service */
address = "http://127.0.0.1:9090/axis2/services/RM10SampleService";
- while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+ if (argc > 1)
{
- switch (c)
+ if (axutil_strcmp(argv[1], "-h") == 0)
{
- case 'a':
- address = optarg;
- break;
- case ':':
- fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
- usage(argv[0]);
- return -1;
- case '?':
- if (isprint(optopt))
- fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
- usage(argv[0]);
- return -1;
+ printf("Usage : %s [endpoint_url]\n", argv[0]);
+ printf("use -h for help\n");
+ return 0;
+ }
+ else
+ {
+ address = argv[1];
}
- }
- if (axutil_strcmp(address, "-h") == 0)
- {
- printf("Usage : %s [endpoint_url]\n", argv[0]);
- printf("use -h for help\n");
- return 0;
}
printf ("Using endpoint : %s\n", address);
@@ -151,27 +134,12 @@
axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING);
axis2_svc_client_engage_module(svc_client, env, "sandesha2");
- /* Offer sequence */
- offered_seq_id = axutil_uuid_gen(env);
- property = axutil_property_create(env);
- if(property)
- {
- axutil_property_set_value(property, env, axutil_strdup(env, offered_seq_id));
- axis2_options_set_property(options, env, SANDESHA2_CLIENT_OFFERED_SEQ_ID, property);
- }
property = axutil_property_create_with_args(env, 3, 0, 0, SANDESHA2_SPEC_VERSION_1_0);
if(property)
{
axis2_options_set_property(options, env, SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
}
- seq_key = axutil_uuid_gen(env);
- property = axutil_property_create_with_args(env, 0, 0, 0, seq_key);
- if(property)
- {
- axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, property);
- }
-
property = axutil_property_create_with_args(env, 0, 0, 0, "12");
if(property)
{
@@ -182,37 +150,15 @@
result = axis2_svc_client_send_receive(svc_client, env, payload);
if(result)
{
- axis2_char_t *om_str = NULL;
- om_str = axiom_node_to_string(result, env);
- if (om_str)
- {
- printf("\nReceived OM : %s\n", om_str);
- }
-
printf("\necho client two way single channel invoke SUCCESSFUL!\n");
-
- AXIS2_FREE(env->allocator, om_str);
- result = NULL;
}
else
{
printf("\necho client two way single channel invoke FAILED!\n");
}
- axis2_options_set_action(options, env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE);
- property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
- axis2_options_set_property(options, env, "Sandesha2LastMessage", property);
- status = axis2_svc_client_send_robust(svc_client, env, NULL);
- if(AXIS2_SUCCESS == status)
- {
- printf("\necho client two way single channel invoke SUCCESSFUL!\n");
- result = NULL;
- }
- else
- {
- printf("\necho client two way single channel invoke FAILED!\n");
- }
-
+ axis2_svc_client_close(svc_client, env);
+
AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
if (svc_client)
{
@@ -271,16 +217,3 @@
return mtom_om_node;
}
-void
-usage(
- axis2_char_t *prog_name)
-{
- fprintf(stdout, "\n Usage : %s", prog_name);
- fprintf(stdout, " [-o ADDRESS]");
- fprintf(stdout, " Options :\n");
- fprintf(stdout, "\t-o ADDRESS \t endpoint address.. The"
- " default is http://127.0.0.1:9090/axis2/services/RM10SampleService ../\n");
- fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-
Modified: webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_ping_1_0/rm_ping_1_0.c Fri Oct 30 13:31:18 2009
@@ -30,12 +30,7 @@
axiom_node_t *
build_om_programatically(
const axutil_env_t *env,
- axis2_char_t *text,
- axis2_char_t *seq_key);
-
-static void
-usage(
- axis2_char_t *prog_name);
+ axis2_char_t *text);
int main(int argc, char** argv)
{
@@ -48,8 +43,7 @@
axiom_node_t *payload = NULL;
axis2_status_t status = AXIS2_FAILURE;
axutil_property_t *property = NULL;
- int c;
- axis2_char_t *seq_key = NULL;
+ int ii;
neethi_policy_t *policy = NULL;
/* Set up the environment */
@@ -57,26 +51,19 @@
/* Set end point reference of echo service */
address = "http://127.0.0.1:9090/axis2/services/RM10SampleService";
- while ((c = AXIS2_GETOPT(argc, argv, ":a:")) != -1)
+ if (argc > 1)
{
-
- switch (c)
+ if (axutil_strcmp(argv[1], "-h") == 0)
+ {
+ printf("Usage : %s [endpoint_url]\n", argv[0]);
+ printf("use -h for help\n");
+ return 0;
+ }
+ else
{
- case 'a':
- address = optarg;
- break;
- case ':':
- fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
- usage(argv[0]);
- return -1;
- case '?':
- if (isprint(optopt))
- fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
- usage(argv[0]);
- return -1;
+ address = argv[1];
}
}
-
printf ("Using endpoint : %s\n", address);
/* Create EPR with given address */
@@ -145,47 +132,26 @@
axis2_options_set_property(options, env, SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
}
- seq_key = axutil_uuid_gen(env);
- property = axutil_property_create_with_args(env, 0, 0, 0, seq_key);
- if(property)
- {
- axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, property);
- }
-
/* Send request */
- payload = build_om_programatically(env, "ping1", seq_key);
- status = axis2_svc_client_send_robust(svc_client, env, payload);
- if(status)
- {
- printf("\nping client invoke SUCCESSFUL!\n");
- }
- payload = NULL;
-
- payload = build_om_programatically(env, "ping2", seq_key);
- status = axis2_svc_client_send_robust(svc_client, env, payload);
- if(status)
- {
- printf("\nping client invoke SUCCESSFUL!\n");
- }
- payload = NULL;
-
- property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
- axis2_options_set_property(options, env, "Sandesha2LastMessage", property);
- payload = build_om_programatically(env, "ping3", seq_key);
- status = axis2_svc_client_send_robust(svc_client, env, payload);
- if(status)
+ for(ii = 0; ii < 4; ii++)
{
- printf("\nping client invoke SUCCESSFUL!\n");
+ axis2_char_t ping_str[7];
+
+ sprintf(ping_str, "%s%d", "ping", ii);
+ payload = build_om_programatically(env, ping_str);
+ status = axis2_svc_client_send_robust(svc_client, env, payload);
+ if(status)
+ {
+ printf("\nping client invoke SUCCESSFUL!\n");
+ }
+ payload = NULL;
}
- /** Wait till callback is complete. Simply keep the parent thread running
- until our on_complete or on_error is invoked */
+ axis2_svc_client_close(svc_client, env);
/*This sleep is for wait the main thread until sandesha sends the terminatesequence
*messages. */
-
AXIS2_SLEEP(SANDESHA2_SLEEP);
- AXIS2_FREE(env->allocator, seq_key);
if (svc_client)
{
@@ -206,37 +172,19 @@
axiom_node_t *
build_om_programatically(
const axutil_env_t *env,
- axis2_char_t *text,
- axis2_char_t *seq)
+ axis2_char_t *text)
{
axiom_node_t *ping_om_node = NULL;
axiom_element_t* ping_om_ele = NULL;
axiom_node_t *text_om_node = NULL;
axiom_element_t* text_om_ele = NULL;
axiom_namespace_t *ns1 = NULL;
- axiom_node_t* seq_om_node = NULL;
- axiom_element_t * seq_om_ele = NULL;
ns1 = axiom_namespace_create (env, "http://tempuri.org/", "ns1");
ping_om_ele = axiom_element_create(env, NULL, "ping", ns1, &ping_om_node);
text_om_ele = axiom_element_create(env, ping_om_node, "Text", ns1, &text_om_node);
- seq_om_ele = axiom_element_create(env, ping_om_node, "Sequence", ns1, &seq_om_node);
axiom_element_set_text(text_om_ele, env, text, text_om_node);
- axiom_element_set_text(text_om_ele, env, seq, seq_om_node);
return ping_om_node;
}
-static void
-usage(
- axis2_char_t *prog_name)
-{
- fprintf(stdout, "\n Usage : %s", prog_name);
- fprintf(stdout, " [-a ADDRESS]");
- fprintf(stdout, " Options :\n");
- fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The"
- " default is http://127.0.0.1:9090/axis2/services/RM10SampleService ../\n");
- fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-
Modified: webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c Fri Oct 30 13:31:18 2009
@@ -31,25 +31,18 @@
axiom_node_t *
build_om_programatically(
const axutil_env_t *env,
- axis2_char_t *text,
- const axis2_char_t *seq);
-
-static void
-usage(
- axis2_char_t *prog_name);
+ axis2_char_t *text);
int main(int argc, char** argv)
{
const axutil_env_t *env = NULL;
const axis2_char_t *address = NULL;
- const axis2_char_t *seq_key = NULL;
axis2_endpoint_ref_t* endpoint_ref = NULL;
axis2_options_t *options = NULL;
const axis2_char_t *client_home = NULL;
axis2_svc_client_t* svc_client = NULL;
axiom_node_t *payload = NULL;
axutil_property_t *property = NULL;
- int c;
int i = 0;
neethi_policy_t *policy = NULL;
axis2_status_t status = AXIS2_FAILURE;
@@ -59,29 +52,19 @@
/* Set end point reference of echo service */
address = "http://127.0.0.1:9090/axis2/services/RM11SampleService";
- while ((c = AXIS2_GETOPT(argc, argv, ":a:k:")) != -1)
+ if (argc > 1)
{
-
- switch (c)
+ if (axutil_strcmp(argv[1], "-h") == 0)
{
- case 'a':
- address = optarg;
- break;
- case 'k': /* Sequenc Key */
- seq_key = optarg;
- break;
- case ':':
- fprintf(stderr, "\nOption -%c requires an operand\n", optopt);
- usage(argv[0]);
- return -1;
- case '?':
- if (isprint(optopt))
- fprintf(stderr, "\nUnknown option `-%c'.\n", optopt);
- usage(argv[0]);
- return -1;
+ printf("Usage : %s [endpoint_url]\n", argv[0]);
+ printf("use -h for help\n");
+ return 0;
+ }
+ else
+ {
+ address = argv[1];
}
}
-
printf ("Using endpoint : %s\n", address);
/* Create EPR with given address */
@@ -148,15 +131,6 @@
axis2_options_set_property(options, env,
SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
}
- if(seq_key)
- {
- property = axutil_property_create_with_args(env, 3, 0, 0, (void*)seq_key);
- if(property)
- {
- axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY,
- property);
- }
- }
for(i = 1; i < 4; i++)
{
@@ -165,7 +139,7 @@
sprintf(echo_str, "%s%d", "echo", i);
/* Send request */
- payload = build_om_programatically(env, echo_str, seq_key);
+ payload = build_om_programatically(env, echo_str);
status = axis2_svc_client_send_robust(svc_client, env, payload);
if(status)
{
@@ -180,9 +154,7 @@
AXIS2_SLEEP(MAX_COUNT);
- sandesha2_client_terminate_seq_with_svc_client(env, svc_client, NULL);
- /** Wait till callback is complete. Simply keep the parent thread running
- until our on_complete or on_error is invoked */
+ axis2_svc_client_close(svc_client, env);
AXIS2_SLEEP(MAX_COUNT);
@@ -198,41 +170,19 @@
axiom_node_t *
build_om_programatically(
const axutil_env_t *env,
- axis2_char_t *text,
- const axis2_char_t *seq_key)
+ axis2_char_t *text)
{
axiom_node_t *ping_om_node = NULL;
axiom_element_t* ping_om_ele = NULL;
axiom_node_t *text_om_node = NULL;
axiom_element_t* text_om_ele = NULL;
- axiom_node_t* seq_om_node = NULL;
- axiom_element_t * seq_om_ele = NULL;
axiom_namespace_t *ns1 = NULL;
ns1 = axiom_namespace_create (env, "http://tempuri.org/", "ns1");
ping_om_ele = axiom_element_create(env, NULL, "ping", ns1, &ping_om_node);
text_om_ele = axiom_element_create(env, ping_om_node, "Text", ns1, &text_om_node);
- if(seq_key)
- seq_om_ele = axiom_element_create(env, ping_om_node, "Sequence", ns1, &seq_om_node);
axiom_element_set_text(text_om_ele, env, text, text_om_node);
- if(seq_key)
- axiom_element_set_text(text_om_ele, env, seq_key, seq_om_node);
return ping_om_node;
}
-static void
-usage(
- axis2_char_t *prog_name)
-{
- fprintf(stdout, "\n Usage : %s", prog_name);
- fprintf(stdout, " [-a ADDRESS]");
- fprintf(stdout, " [-k PROVIDE SEQUENCE KEY]");
- fprintf(stdout, " Options :\n");
- fprintf(stdout, "\t-k PROVIDE SEQUENCE KEY \t provide the sequence key as string \n");
- fprintf(stdout, "\t-a ADDRESS \t endpoint address.. The"
- " default is http://127.0.0.1:5555/axis2/services/RM11SampleService ../\n");
- fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n");
-}
-
-
Modified: webservices/sandesha/trunk/c/src/client/client.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/client/client.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/client/client.c (original)
+++ webservices/sandesha/trunk/c/src/client/client.c Fri Oct 30 13:31:18 2009
@@ -426,7 +426,7 @@
ctx = axis2_conf_ctx_get_base(conf_ctx, env);
if(internal_seq_find_bean)
sandesha2_seq_property_bean_set_name(internal_seq_find_bean, env,
- SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
+ SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID);
if (seq_prop_mgr)
{
collection = sandesha2_seq_property_mgr_find(seq_prop_mgr, env,
@@ -1107,7 +1107,7 @@
storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
seq_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- internal_seq_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ internal_seq_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
if(!seq_id_bean)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SEQ_ID_BEAN_NOT_SET,
@@ -1364,7 +1364,7 @@
storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
seq_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_seq_id,
- SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
if(!seq_id_bean)
{
@@ -1508,7 +1508,7 @@
sandesha2_seq_property_bean_set_value(internal_seq_find_bean, env,
internal_seq_id);
sandesha2_seq_property_bean_set_name(internal_seq_find_bean, env,
- SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
+ SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID);
internal_seq_bean = sandesha2_seq_property_mgr_find_unique(seq_prop_mgr,
env, internal_seq_find_bean);
if(!internal_seq_bean)
@@ -1553,7 +1553,7 @@
sandesha2_seq_property_bean_set_value(internal_seq_find_bean, env,
internal_seq_id);
sandesha2_seq_property_bean_set_name(internal_seq_find_bean, env,
- SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
+ SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID);
internal_seq_bean = sandesha2_seq_property_mgr_find_unique(seq_prop_mgr,
env, internal_seq_find_bean);
if(!internal_seq_bean)
@@ -1595,7 +1595,7 @@
sandesha2_seq_property_bean_set_value(internal_seq_find_bean, env,
internal_seq_id);
sandesha2_seq_property_bean_set_name(internal_seq_find_bean, env,
- SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
+ SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID);
internal_seq_bean = sandesha2_seq_property_mgr_find_unique(seq_prop_mgr,
env, internal_seq_find_bean);
if(!internal_seq_bean)
@@ -1818,7 +1818,7 @@
if(seq_prop_mgr)
{
seq_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_seq_id,
- SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
}
if(!seq_id_bean)
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=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c (original)
+++ webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c Fri Oct 30 13:31:18 2009
@@ -33,6 +33,7 @@
#include <sandesha2_sender_mgr.h>
#include <platforms/axutil_platform_auto_sense.h>
#include <axis2_rm_assertion.h>
+#include <sandesha2_spec_specific_consts.h>
#include <sandesha2_property_mgr.h>
axis2_status_t AXIS2_CALL
@@ -166,6 +167,53 @@
dummy_msg = AXIS2_TRUE;
}
+ temp_prop = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_SVC_CLIENT_CLOSED);
+ if(temp_prop)
+ {
+ axis2_char_t *spec_version = NULL;
+ axutil_property_t *property = NULL;
+
+ axis2_endpoint_ref_t *reply_to = axis2_msg_ctx_get_reply_to(msg_ctx, env);
+ if(reply_to)
+ {
+ axis2_char_t *address = axis2_endpoint_ref_get_address(reply_to, env);
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "dam_reply_to_address:%s", address);
+ }
+ property = axis2_msg_ctx_get_property(msg_ctx, env, SANDESHA2_CLIENT_RM_SPEC_VERSION);
+ if(property)
+ {
+ spec_version = axutil_property_get_value(property, env);
+ }
+
+ if(!axutil_strcmp(SANDESHA2_SPEC_VERSION_1_1, spec_version))
+ {
+ axis2_char_t *action = NULL;
+ axutil_string_t *str_action = NULL;
+
+ action = sandesha2_spec_specific_consts_get_terminate_seq_action(env, spec_version);
+ str_action = axutil_string_create(env, action);
+ axis2_msg_ctx_set_soap_action(msg_ctx, env, str_action);
+ axutil_string_free(str_action, env);
+ /*axis2_msg_ctx_set_reply_to(msg_ctx, env, NULL);*/
+ msg_type = sandesha2_msg_ctx_set_msg_type(rm_msg_ctx, env,
+ SANDESHA2_MSG_TYPE_CLOSE_SEQ);
+ }
+ else if(!axutil_strcmp(SANDESHA2_SPEC_VERSION_1_0, spec_version))
+ {
+ axutil_property_t *property = NULL;
+ axutil_string_t *str_action = NULL;
+
+ /*axis2_msg_info_headers_set_action(axis2_msg_ctx_get_msg_info_headers(msg_ctx, env),
+ * env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE); */
+ str_action = axutil_string_create(env, SANDESHA2_SPEC_2005_02_SOAP_ACTION_LAST_MESSAGE);
+ axis2_msg_ctx_set_soap_action(msg_ctx, env, str_action);
+ axutil_string_free(str_action, env);
+ property = axutil_property_create_with_args(env, 0, 0, 0, AXIS2_VALUE_TRUE);
+ axis2_msg_ctx_set_property(msg_ctx, env, "Sandesha2LastMessage", property);
+ /*axis2_msg_ctx_set_reply_to(msg_ctx, env, NULL);*/
+ }
+ }
+
msg_type = sandesha2_msg_ctx_get_msg_type(rm_msg_ctx, env);
if(msg_type == SANDESHA2_MSG_TYPE_UNKNOWN)
{
Modified: webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c?rev=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c Fri Oct 30 13:31:18 2009
@@ -153,8 +153,8 @@
sandesha2_sender_mgr_t *sender_mgr = NULL;
axutil_array_list_t *ack_range_list = NULL;
axutil_array_list_t *nack_list = NULL;
- axis2_char_t *rms_sequence_id = NULL;
- axis2_char_t *internal_sequence_id = NULL;
+ axis2_char_t *outgoing_sequence_id = NULL;
+ axis2_char_t *outgoing_internal_sequence_id = NULL;
/*axutil_property_t *property = NULL;*/
sandesha2_sender_bean_t *input_bean = NULL;
axutil_array_list_t *retrans_list = NULL;
@@ -202,10 +202,10 @@
ack_range_list = sandesha2_seq_ack_get_ack_range_list(seq_ack, env);
nack_list = sandesha2_seq_ack_get_nack_list(seq_ack, env);
- rms_sequence_id = sandesha2_identifier_get_identifier(sandesha2_seq_ack_get_identifier(seq_ack, env),
- env);
+ outgoing_sequence_id = sandesha2_identifier_get_identifier(sandesha2_seq_ack_get_identifier(
+ seq_ack, env), env);
- if(!rms_sequence_id || 0 == axutil_strlen(rms_sequence_id))
+ if(!outgoing_sequence_id || 0 == axutil_strlen(outgoing_sequence_id))
{
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] OutSequenceId is null");
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_SEQ, AXIS2_FAILURE);
@@ -233,11 +233,11 @@
return AXIS2_FAILURE;
}
- internal_sequence_id = sandesha2_utils_get_seq_property(env, rms_sequence_id,
- SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID, seq_prop_mgr);
+ outgoing_internal_sequence_id = sandesha2_utils_get_seq_property(env, outgoing_sequence_id,
+ SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_INTERNAL_SEQUENCE_ID, seq_prop_mgr);
- /*fault_msg_ctx = sandesha2_fault_mgr_check_for_unknown_seq(env, rm_msg_ctx, rms_sequence_id,
- seq_prop_mgr, create_seq_mgr, next_msg_mgr);*/
+ /*fault_msg_ctx = sandesha2_fault_mgr_check_for_unknown_seq(env, rm_msg_ctx,
+ * outgoing_sequence_id, seq_prop_mgr, create_seq_mgr, next_msg_mgr);*/
if(fault_msg_ctx)
{
@@ -275,13 +275,14 @@
axis2_engine_free(engine, env);
}
}
- if(internal_sequence_id)
+ if(outgoing_internal_sequence_id)
{
- sandesha2_seq_mgr_update_last_activated_time(env, internal_sequence_id, seq_prop_mgr);
+ sandesha2_seq_mgr_update_last_activated_time(env, outgoing_internal_sequence_id,
+ seq_prop_mgr);
}
- terminated_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_sequence_id,
- SANDESHA2_SEQ_PROP_TERMINATE_ADDED);
+ terminated_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
+ outgoing_internal_sequence_id, SANDESHA2_SEQ_PROP_TERMINATE_ADDED);
if(terminated_bean)
{
axis2_char_t *value = sandesha2_seq_property_bean_get_value(terminated_bean, env);
@@ -315,9 +316,9 @@
sandesha2_storage_mgr_free(storage_mgr, env);
}
- if(internal_sequence_id)
+ if(outgoing_internal_sequence_id)
{
- AXIS2_FREE(env->allocator, internal_sequence_id);
+ AXIS2_FREE(env->allocator, outgoing_internal_sequence_id);
}
return AXIS2_SUCCESS;
@@ -327,7 +328,7 @@
axis2_msg_ctx_set_property(msg_ctx, env, SANDESHA2_ACK_PROCSSED, property);*/
input_bean = sandesha2_sender_bean_create(env);
- sandesha2_sender_bean_set_internal_seq_id(input_bean, env, internal_sequence_id);
+ sandesha2_sender_bean_set_internal_seq_id(input_bean, env, outgoing_internal_sequence_id);
sandesha2_sender_bean_set_send(input_bean, env, AXIS2_TRUE);
sandesha2_sender_bean_set_resend(input_bean, env, AXIS2_TRUE);
sandesha2_sender_bean_set_msg_type(input_bean, env, SANDESHA2_MSG_TYPE_APPLICATION);
@@ -356,9 +357,9 @@
axutil_array_list_free(retrans_list, env);
}
- if(internal_sequence_id)
+ if(outgoing_internal_sequence_id)
{
- AXIS2_FREE(env->allocator, internal_sequence_id);
+ AXIS2_FREE(env->allocator, outgoing_internal_sequence_id);
}
if(seq_prop_mgr)
@@ -457,7 +458,7 @@
}
no_of_msgs_acked = sandesha2_ack_msg_processor_get_no_of_msgs_acked(env, ack_range_list);
- no_of_msgs_acked_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rms_sequence_id,
+ no_of_msgs_acked_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, outgoing_sequence_id,
SANDESHA2_SEQ_PROP_NO_OF_OUTGOING_MSGS_ACKED);
sprintf(str_long, "%ld", no_of_msgs_acked);
@@ -467,7 +468,7 @@
no_of_msgs_acked_bean = sandesha2_seq_property_bean_create(env);
sandesha2_seq_property_bean_set_name(no_of_msgs_acked_bean, env,
SANDESHA2_SEQ_PROP_NO_OF_OUTGOING_MSGS_ACKED);
- sandesha2_seq_property_bean_set_seq_id(no_of_msgs_acked_bean, env, rms_sequence_id);
+ sandesha2_seq_property_bean_set_seq_id(no_of_msgs_acked_bean, env, outgoing_sequence_id);
}
sandesha2_seq_property_bean_set_value(no_of_msgs_acked_bean, env, str_long);
if(added)
@@ -483,13 +484,13 @@
sandesha2_seq_property_bean_free(no_of_msgs_acked_bean, env);
}
- completed_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rms_sequence_id,
+ completed_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, outgoing_sequence_id,
SANDESHA2_SEQ_PROP_CLIENT_COMPLETED_MESSAGES);
- if(!completed_bean && internal_sequence_id)
+ if(!completed_bean && outgoing_internal_sequence_id)
{
completed_bean = sandesha2_seq_property_bean_create(env);
- sandesha2_seq_property_bean_set_seq_id(completed_bean, env, internal_sequence_id);
+ sandesha2_seq_property_bean_set_seq_id(completed_bean, env, outgoing_internal_sequence_id);
sandesha2_seq_property_bean_set_name(completed_bean, env,
SANDESHA2_SEQ_PROP_CLIENT_COMPLETED_MESSAGES);
@@ -528,7 +529,7 @@
sandesha2_seq_property_bean_free(completed_bean, env);
}
- last_out_msg_no_str = sandesha2_utils_get_seq_property(env, internal_sequence_id,
+ last_out_msg_no_str = sandesha2_utils_get_seq_property(env, outgoing_internal_sequence_id,
SANDESHA2_SEQ_PROP_LAST_OUT_MESSAGE_NO, seq_prop_mgr);
if(last_out_msg_no_str)
@@ -561,16 +562,18 @@
/*if(completed && sandesha2_utils_is_anon_uri(env, to_address))*/
{
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
- "[sandesha2]Sequence %s is completed. So adding terminate msg", rms_sequence_id);
- sandesha2_terminate_mgr_send_terminate_seq_msg(env, rm_msg_ctx, rms_sequence_id,
- internal_sequence_id, storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
+ "[sandesha2]Sequence %s is completed. So adding terminate msg",
+ outgoing_sequence_id);
+ sandesha2_terminate_mgr_send_terminate_seq_msg(env, rm_msg_ctx,
+ outgoing_sequence_id, outgoing_internal_sequence_id, storage_mgr,
+ seq_prop_mgr, create_seq_mgr, sender_mgr);
}
}
}
- if(internal_sequence_id)
+ if(outgoing_internal_sequence_id)
{
- AXIS2_FREE(env->allocator, internal_sequence_id);
+ AXIS2_FREE(env->allocator, outgoing_internal_sequence_id);
}
soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env);
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=831290&r1=831289&r2=831290&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Fri Oct 30 13:31:18 2009
@@ -1512,7 +1512,7 @@
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Spec version:%s", spec_ver);
rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
if(1 == msg_number)
{
@@ -1525,7 +1525,7 @@
"Starting the rms sequence with rms rms internal sequence id %s",
internal_sequence_id);
- sandesha2_seq_mgr_setup_new_rms_sequence(env, msg_ctx, internal_sequence_id, spec_ver,
+ sandesha2_seq_mgr_setup_new_outgoing_sequence(env, msg_ctx, internal_sequence_id, spec_ver,
seq_prop_mgr);
}
@@ -1798,7 +1798,7 @@
const axutil_env_t *env,
sandesha2_msg_ctx_t *rm_msg_ctx,
axis2_char_t *msg_str,
- axis2_char_t *rmd_sequence_id,
+ axis2_char_t *incoming_sequence_id,
sandesha2_storage_mgr_t *storage_mgr,
sandesha2_sender_mgr_t *sender_mgr,
sandesha2_seq_property_mgr_t *seq_prop_mgr,
@@ -1817,8 +1817,6 @@
axis2_char_t *key = NULL;
axutil_property_t *property = NULL;
sandesha2_sender_bean_t *ack_bean = NULL;
- sandesha2_seq_property_bean_t *rms_internal_sequence_bean = NULL;
- axis2_char_t *internal_sequence_id = NULL;
axis2_bool_t sent = AXIS2_TRUE;
axis2_op_ctx_t *op_ctx = NULL;
axis2_op_t *op = NULL;
@@ -1834,7 +1832,7 @@
msg_ctx = sandesha2_msg_ctx_get_msg_ctx(rm_msg_ctx, env);
- acks_to_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rmd_sequence_id,
+ acks_to_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, incoming_sequence_id,
SANDESHA2_SEQ_PROP_ACKS_TO_EPR);
if(acks_to_bean)
{
@@ -1863,11 +1861,11 @@
one_way = AXIS2_MEP_CONSTANT_IN_ONLY == mep;
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "MEP:%d", mep);
- rm_version = sandesha2_utils_get_rm_version(env, rmd_sequence_id, seq_prop_mgr);
+ rm_version = sandesha2_utils_get_rm_version(env, incoming_sequence_id, seq_prop_mgr);
if(!rm_version)
{
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "[sandesha2]Unable to find RM spec version for seq_id %s", rmd_sequence_id);
+ "[sandesha2]Unable to find RM spec version for seq_id %s", incoming_sequence_id);
if(acks_to_str)
{
AXIS2_FREE(env->allocator, acks_to_str);
@@ -1925,7 +1923,8 @@
sandesha2_msg_ctx_add_soap_envelope(rm_msg_ctx, env);
}
- ack_rm_msg_ctx = sandesha2_ack_mgr_generate_ack_msg(env, rm_msg_ctx, rmd_sequence_id, seq_prop_mgr);
+ ack_rm_msg_ctx = sandesha2_ack_mgr_generate_ack_msg(env, rm_msg_ctx, incoming_sequence_id,
+ seq_prop_mgr);
ack_msg_ctx = sandesha2_msg_ctx_get_msg_ctx(ack_rm_msg_ctx, env);
/* If it is not one way message we piggyback the acknowledgment messages on the application messages
@@ -1936,17 +1935,9 @@
{
axis2_relates_to_t *relates_to = NULL;
const axis2_char_t *related_msg_id = NULL;
- axis2_char_t *outgoing_seq_id = NULL;
+ axis2_char_t *outgoing_sequence_id = NULL;
sandesha2_seq_property_bean_t *relates_to_bean = NULL;
- sandesha2_seq_property_bean_t *outgoing_seq_id_bean = NULL;
-
- rms_internal_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- rmd_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID);
-
- if(rms_internal_sequence_bean)
- {
- internal_sequence_id = sandesha2_seq_property_bean_get_value(rms_internal_sequence_bean, env);
- }
+ sandesha2_seq_property_bean_t *outgoing_sequence_id_bean = NULL;
key = axutil_uuid_gen(env);
ack_bean = sandesha2_sender_bean_create(env);
@@ -1967,29 +1958,31 @@
related_msg_id, SANDESHA2_SEQ_PROP_RELATED_MSG_ID);
if(relates_to_bean)
{
+ outgoing_sequence_id = sandesha2_seq_property_bean_get_value(relates_to_bean, env);
- outgoing_seq_id = sandesha2_seq_property_bean_get_value(relates_to_bean, env);
-
- AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "outgoing_seq_id:%s", outgoing_seq_id);
- sandesha2_sender_bean_set_seq_id(ack_bean, env, outgoing_seq_id);
- sandesha2_seq_property_mgr_remove(seq_prop_mgr, env, (axis2_char_t *) related_msg_id,
- SANDESHA2_SEQ_PROP_RELATED_MSG_ID);
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "outgoing_sequence_id:%s", outgoing_sequence_id);
+ sandesha2_sender_bean_set_seq_id(ack_bean, env, outgoing_sequence_id);
+ sandesha2_seq_property_mgr_remove(seq_prop_mgr, env,
+ (axis2_char_t *) related_msg_id, SANDESHA2_SEQ_PROP_RELATED_MSG_ID);
}
}
- if(!outgoing_seq_id)
+ if(!outgoing_sequence_id)
{
- axis2_char_t *outgoing_internal_seq_id = NULL;
- axis2_char_t *outgoing_seq_id = NULL;
+ axis2_char_t *outgoing_internal_sequence_id = NULL;
+ axis2_char_t *outgoing_sequence_id = NULL;
- outgoing_internal_seq_id = sandesha2_utils_get_internal_sequence_id(env, rmd_sequence_id);
- outgoing_seq_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- outgoing_internal_seq_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
- if(outgoing_seq_id_bean)
+ outgoing_internal_sequence_id = sandesha2_utils_get_internal_sequence_id(env,
+ incoming_sequence_id);
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "outgoing_internal_sequence_id:%s",
+ outgoing_internal_sequence_id);
+ outgoing_sequence_id_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
+ outgoing_internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
+ if(outgoing_sequence_id_bean)
{
- outgoing_seq_id = sandesha2_seq_property_bean_get_value(outgoing_seq_id_bean, env);
- AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "outgoing_seq_id:%s", outgoing_seq_id);
- sandesha2_sender_bean_set_seq_id(ack_bean, env, outgoing_seq_id);
+ outgoing_sequence_id = sandesha2_seq_property_bean_get_value(
+ outgoing_sequence_id_bean, env);
+ sandesha2_sender_bean_set_seq_id(ack_bean, env, outgoing_sequence_id);
}
}
@@ -2001,8 +1994,6 @@
sandesha2_sender_bean_set_time_to_send(ack_bean, env, send_time);
sandesha2_sender_bean_set_msg_id(ack_bean, env, sandesha2_msg_ctx_get_msg_id(ack_rm_msg_ctx, env));
sandesha2_sender_bean_set_send(ack_bean, env, AXIS2_TRUE);
- sandesha2_sender_bean_set_internal_seq_id(ack_bean, env, internal_sequence_id);
- /*sandesha2_sender_bean_set_seq_id(ack_bean, env, rmd_sequence_id);*/
sandesha2_sender_bean_set_msg_type(ack_bean, env, SANDESHA2_MSG_TYPE_ACK);
sandesha2_sender_bean_set_resend(ack_bean, env, AXIS2_FALSE);
sandesha2_sender_mgr_insert(sender_mgr, env, ack_bean);
@@ -2012,14 +2003,9 @@
sandesha2_seq_property_bean_free(relates_to_bean, env);
}
- if(outgoing_seq_id_bean)
- {
- sandesha2_seq_property_bean_free(outgoing_seq_id_bean, env);
- }
-
- if(rms_internal_sequence_bean)
+ if(outgoing_sequence_id_bean)
{
- sandesha2_seq_property_bean_free(rms_internal_sequence_bean, env);
+ sandesha2_seq_property_bean_free(outgoing_sequence_id_bean, env);
}
if(ack_bean)
@@ -2406,7 +2392,7 @@
}
rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_sequence_id,
- SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
while(!rms_sequence_bean)
{
@@ -2448,7 +2434,7 @@
}
rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_sequence_id,
- SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
}
if(rms_sequence_bean)
@@ -2503,7 +2489,7 @@
AXIS2_FREE(env->allocator, create_sequence_msg_store_key);
/*rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);*/
+ internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);*/
/* In dual channel create sequence message is sent in a separate thread. This thread will
* run until create sequence response message is received or timeout or re-sends
@@ -2862,6 +2848,7 @@
AXIS2_PARAM_CHECK(env->error, sender_mgr, AXIS2_FAILURE);
app_msg_ctx = sandesha2_msg_ctx_get_msg_ctx(rm_msg_ctx, env);
+ is_svr_side = axis2_msg_ctx_get_server_side(app_msg_ctx, env);
conf_ctx = axis2_msg_ctx_get_conf_ctx(app_msg_ctx, env);
svc = axis2_msg_ctx_get_svc(app_msg_ctx, env);
@@ -2906,14 +2893,14 @@
reply_to_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, internal_sequence_id,
SANDESHA2_SEQ_PROP_REPLY_TO_EPR);
- if (to_bean)
+ if (to_bean && is_svr_side)
{
to_addr = axutil_strdup(env, sandesha2_seq_property_bean_get_value(to_bean, env));
to_epr = axis2_endpoint_ref_create(env, to_addr);
sandesha2_seq_property_bean_free(to_bean, env);
}
- if(reply_to_bean)
+ if(reply_to_bean && is_svr_side)
{
reply_to_addr = axutil_strdup(env, sandesha2_seq_property_bean_get_value(reply_to_bean, env));
reply_to_epr = axis2_endpoint_ref_create(env, reply_to_addr);
@@ -3109,7 +3096,6 @@
sandesha2_sender_mgr_insert(sender_mgr, env, app_msg_sender_bean);
- is_svr_side = axis2_msg_ctx_get_server_side(app_msg_ctx, env);
/*
* If server side and anonymous acknowledgment. In other words this is replay mode.
@@ -3125,12 +3111,12 @@
sandesha2_identifier_t *identifier = NULL;
rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
while(!rms_sequence_bean)
{
rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
"[sandesha2] Create sequence response has not yet arrived. So sleep");
AXIS2_SLEEP(1);
@@ -3264,13 +3250,13 @@
sandesha2_seq_property_bean_t *relates_to_bean = NULL;
rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
/* We will wait until the response for the create sequence message received. */
while(!rms_sequence_bean)
{
rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
"[sandesha2] Create sequence response has not yet arrived. So sleep");
AXIS2_SLEEP(1);
@@ -3314,8 +3300,8 @@
/* Add the acknowledgement element into the soap envelope */
if(!sandesha2_util_is_ack_already_piggybacked(env, rm_msg_ctx))
{
- sandesha2_ack_mgr_piggyback_acks_if_present(env, rms_sequence_id, rm_msg_ctx, storage_mgr,
- seq_prop_mgr, sender_mgr);
+ sandesha2_ack_mgr_piggyback_acks_if_present(env, rms_sequence_id, rm_msg_ctx,
+ storage_mgr, seq_prop_mgr, sender_mgr);
}
identifier = sandesha2_identifier_create(env, rm_ns_val);
@@ -3616,7 +3602,7 @@
}
rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
key = sandesha2_sender_bean_get_msg_ctx_ref_key(sender_bean, env);
app_msg_ctx = sandesha2_storage_mgr_retrieve_msg_ctx(storage_mgr, env, key, conf_ctx,
@@ -3652,7 +3638,7 @@
}
rms_sequence_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID);
+ internal_sequence_id, SANDESHA2_SEQUENCE_PROPERTY_OUTGOING_SEQUENCE_ID);
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
"[sandesha2] Create sequence response has not yet arrived. So sleep");
AXIS2_SLEEP(1);
@@ -3712,6 +3698,12 @@
sender_bean = sandesha2_sender_mgr_get_application_msg_to_send(sender_mgr, env,
internal_sequence_id, msg_id);
+
+ /* We alwasy need to make sure that this function is always called only once during a message
+ * sending process. Otherwise message constructs could be duplicated in the soap envelope.
+ */
+ sandesha2_msg_ctx_add_soap_envelope(rm_msg_ctx, env);
+
/* Resend the application message until timeout or exceed the maximum number of re-sends as
* specified by Policy.
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org