Author: damitha Date: Tue Sep 12 22:27:43 2006 New Revision: 442855 URL: http://svn.apache.org/viewvc?view=rev&rev=442855 Log: Now when last application message is sent, in the sequecne of it last message element is set
Modified: webservices/sandesha/trunk/c/include/sandesha2_spec_specific_consts.h webservices/sandesha/trunk/c/samples/client/rm_echo/rm_echo_client.c webservices/sandesha/trunk/c/samples/client/rm_echo_blocking/rm_echo_blocking.c webservices/sandesha/trunk/c/samples/client/rm_ping/rm_ping_client.c webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c webservices/sandesha/trunk/c/src/util/spec_specific_consts.c webservices/sandesha/trunk/c/src/wsrm/last_msg.c 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=442855&r1=442854&r2=442855 ============================================================================== --- webservices/sandesha/trunk/c/include/sandesha2_spec_specific_consts.h (original) +++ webservices/sandesha/trunk/c/include/sandesha2_spec_specific_consts.h Tue Sep 12 22:27:43 2006 @@ -41,109 +41,118 @@ * @{ */ AXIS2_EXTERN axis2_char_t* AXIS2_CALL -sandesha2_spec_specific_consts_get_spec_ver_str(const axis2_env_t *env, - axis2_char_t *ns_val); +sandesha2_spec_specific_consts_get_spec_ver_str( + const axis2_env_t *env, + axis2_char_t *ns_val); AXIS2_EXTERN axis2_char_t* AXIS2_CALL -sandesha2_spec_specific_consts_get_rm_ns_val(const axis2_env_t *env, - axis2_char_t *spec_ver); - +sandesha2_spec_specific_consts_get_rm_ns_val( + const axis2_env_t *env, + axis2_char_t *spec_ver); + AXIS2_EXTERN axis2_bool_t AXIS2_CALL -sandesha2_spec_specific_consts_is_ack_final_allowed(const axis2_env_t *env, - axis2_char_t *rm_spec_ver); +sandesha2_spec_specific_consts_is_ack_final_allowed( + const axis2_env_t *env, + axis2_char_t *rm_spec_ver); AXIS2_EXTERN axis2_bool_t AXIS2_CALL -sandesha2_spec_specific_consts_is_ack_none_allowed(const axis2_env_t *env, - axis2_char_t *rm_spec_ver); +sandesha2_spec_specific_consts_is_ack_none_allowed( + const axis2_env_t *env, + axis2_char_t *rm_spec_ver); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_default_spec_version( - const axis2_env_t *env); + const axis2_env_t *env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_terminate_seq_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_create_seq_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_create_seq_soap_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_ack_req_soap_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_create_seq_res_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_create_seq_res_soap_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_close_seq_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_close_seq_res_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_ack_req_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_bool_t AXIS2_CALL sandesha2_spec_specific_consts_is_seq_closing_allowed( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_char_t* AXIS2_CALL sandesha2_spec_specific_consts_get_default_spec_version( - const axis2_env_t *env); + const axis2_env_t *env); AXIS2_EXTERN axis2_char_t* AXIS2_CALL sandesha2_spec_specific_consts_get_anon_uri( - const axis2_env_t *env, - axis2_char_t *addr_ns_val); + const axis2_env_t *env, + axis2_char_t *addr_ns_val); AXIS2_EXTERN axis2_bool_t AXIS2_CALL sandesha2_spec_specific_consts_is_term_seq_res_reqd( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_terminate_seq_soap_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_teminate_seq_res_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_seq_ack_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); AXIS2_EXTERN axis2_char_t *AXIS2_CALL sandesha2_spec_specific_consts_get_seq_ack_soap_action( - const axis2_env_t *env, - axis2_char_t *spec_version); + const axis2_env_t *env, + axis2_char_t *spec_version); +axis2_bool_t AXIS2_CALL +sandesha2_spec_specific_consts_is_last_msg_indicator_reqd( + const axis2_env_t *env, + axis2_char_t *spec_version); + /** @} */ #ifdef __cplusplus } Modified: webservices/sandesha/trunk/c/samples/client/rm_echo/rm_echo_client.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/client/rm_echo/rm_echo_client.c?view=diff&rev=442855&r1=442854&r2=442855 ============================================================================== --- webservices/sandesha/trunk/c/samples/client/rm_echo/rm_echo_client.c (original) +++ webservices/sandesha/trunk/c/samples/client/rm_echo/rm_echo_client.c Tue Sep 12 22:27:43 2006 @@ -47,6 +47,7 @@ axiom_node_t *payload = NULL; axis2_callback_t *callback1 = NULL; axis2_callback_t *callback2 = NULL; + axis2_callback_t *callback3 = NULL; int count = 0; axis2_property_t *property = NULL; /*axis2_qname_t *op_qname = NULL;*/ @@ -113,31 +114,43 @@ AXIS2_SVC_CLIENT_ENGAGE_MODULE(svc_client, env, "sandesha2"); /* Build the SOAP request message payload using OM API.*/ - /*payload = build_om_payload_for_echo_svc(env); + payload = build_om_payload_for_echo_svc(env); callback1 = axis2_callback_create(env); - AXIS2_CALLBACK_SET_ON_COMPLETE(callback1, rm_echo_callback_on_complete); + AXIS2_CALLBACK_SET_ON_COMPLETE(callback1, rm_echo_callback_on_complete); - AXIS2_CALLBACK_SET_ON_ERROR(callback1, rm_echo_callback_on_error); + AXIS2_CALLBACK_SET_ON_ERROR(callback1, rm_echo_callback_on_error); AXIS2_SVC_CLIENT_SEND_RECEIVE_NON_BLOCKING(svc_client, env, payload, callback1); - AXIS2_SLEEP(5);*/ + AXIS2_SLEEP(20); + payload = build_om_payload_for_echo_svc(env); + + 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); + + + AXIS2_SVC_CLIENT_SEND_RECEIVE_NON_BLOCKING(svc_client, env, + payload, callback2); + AXIS2_SLEEP(20); /* Create the callback object with default on_complete and on_error callback functions */ - callback2 = axis2_callback_create(env); + callback3 = axis2_callback_create(env); /* Set our on_complete fucntion pointer to the callback object */ - AXIS2_CALLBACK_SET_ON_COMPLETE(callback2, rm_echo_callback_on_complete); + AXIS2_CALLBACK_SET_ON_COMPLETE(callback3, rm_echo_callback_on_complete); /* Set our on_error function pointer to the callback object */ - AXIS2_CALLBACK_SET_ON_ERROR(callback2, rm_echo_callback_on_error); + AXIS2_CALLBACK_SET_ON_ERROR(callback3, rm_echo_callback_on_error); payload = build_om_payload_for_echo_svc(env); AXIS2_OPTIONS_SET_PROPERTY(options, env, "Sandesha2LastMessage", property); /* Send request */ AXIS2_SVC_CLIENT_SEND_RECEIVE_NON_BLOCKING(svc_client, env, - payload, callback2); + payload, callback3); /** Wait till callback is complete. Simply keep the parent thread running until our on_complete or on_error is invoked */ Modified: webservices/sandesha/trunk/c/samples/client/rm_echo_blocking/rm_echo_blocking.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/client/rm_echo_blocking/rm_echo_blocking.c?view=diff&rev=442855&r1=442854&r2=442855 ============================================================================== --- webservices/sandesha/trunk/c/samples/client/rm_echo_blocking/rm_echo_blocking.c (original) +++ webservices/sandesha/trunk/c/samples/client/rm_echo_blocking/rm_echo_blocking.c Tue Sep 12 22:27:43 2006 @@ -61,7 +61,7 @@ options = axis2_options_create(env); AXIS2_OPTIONS_SET_TO(options, env, endpoint_ref); AXIS2_OPTIONS_SET_USE_SEPARATE_LISTENER(options, env, AXIS2_TRUE); - + AXIS2_OPTIONS_SET_TIMEOUT_IN_MILLI_SECONDS(options, env, 30000); /* Seperate listner needs addressing, hence addressing stuff in options */ AXIS2_OPTIONS_SET_ACTION(options, env, "http://ws.apache.org/axis2/c/samples/echoString"); @@ -103,9 +103,9 @@ AXIS2_SVC_CLIENT_ENGAGE_MODULE(svc_client, env, "sandesha2"); /* Build the SOAP request message payload using OM API.*/ - /*payload = build_om_payload_for_echo_svc(env, "echo1"); + payload = build_om_payload_for_echo_svc(env, "echo1"); AXIS2_SVC_CLIENT_SEND_RECEIVE(svc_client, env, payload); - AXIS2_SLEEP(2);*/ + AXIS2_SLEEP(2); /* Build the SOAP request message payload using OM API.*/ payload2 = build_om_payload_for_echo_svc(env, "echo2"); Modified: webservices/sandesha/trunk/c/samples/client/rm_ping/rm_ping_client.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/client/rm_ping/rm_ping_client.c?view=diff&rev=442855&r1=442854&r2=442855 ============================================================================== --- webservices/sandesha/trunk/c/samples/client/rm_ping/rm_ping_client.c (original) +++ webservices/sandesha/trunk/c/samples/client/rm_ping/rm_ping_client.c Tue Sep 12 22:27:43 2006 @@ -63,7 +63,6 @@ /* Setup options */ options = axis2_options_create(env); AXIS2_OPTIONS_SET_TO(options, env, endpoint_ref); - /*AXIS2_OPTIONS_SET_USE_SEPARATE_LISTENER(options, env, AXIS2_TRUE);*/ AXIS2_OPTIONS_SET_ACTION(options, env, "http://example.org/action/ping"); @@ -111,8 +110,8 @@ " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("ping client invoke FAILED!\n"); - } - AXIS2_SLEEP(2);*/ + }*/ + property = axis2_property_create(env); AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION); AXIS2_PROPERTY_SET_VALUE(property, env, AXIS2_VALUE_TRUE); Modified: webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c?view=diff&rev=442855&r1=442854&r2=442855 ============================================================================== --- webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c (original) +++ webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c Tue Sep 12 22:27:43 2006 @@ -114,7 +114,7 @@ AXIS2_ENV_CHECK( env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); - printf("came**********************************************\n"); + printf("Starting sandesha2 global in handler**********************************************\n"); AXIS2_LOG_INFO(env->log, "[sandesha2]Starting sandesha2 global in handler ......"); 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?view=diff&rev=442855&r1=442854&r2=442855 ============================================================================== --- webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c (original) +++ webservices/sandesha/trunk/c/src/handlers/sandesha2_out_handler.c Tue Sep 12 22:27:43 2006 @@ -125,7 +125,8 @@ } temp_prop = axis2_property_create(env); AXIS2_PROPERTY_SET_SCOPE(temp_prop, env, AXIS2_SCOPE_APPLICATION); - AXIS2_PROPERTY_SET_VALUE(temp_prop, env, SANDESHA2_VALUE_TRUE); + AXIS2_PROPERTY_SET_VALUE(temp_prop, env, AXIS2_STRDUP(SANDESHA2_VALUE_TRUE, + env)); AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_APPLICATION_PROCESSING_DONE, temp_prop, AXIS2_FALSE); conf = AXIS2_CONF_CTX_GET_CONF(conf_ctx, env); @@ -257,6 +258,11 @@ } AXIS2_LOG_INFO(env->log, "[sandesha2] Exit: sandesha2_out_handler::invoke"); + temp_prop = AXIS2_CTX_GET_PROPERTY(ctx, env, + SANDESHA2_APPLICATION_PROCESSING_DONE, AXIS2_FALSE); + if(NULL != temp_prop) + AXIS2_PROPERTY_SET_VALUE(temp_prop, env, AXIS2_STRDUP( + SANDESHA2_VALUE_FALSE, env)); return AXIS2_SUCCESS; } 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?view=diff&rev=442855&r1=442854&r2=442855 ============================================================================== --- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c (original) +++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Tue Sep 12 22:27:43 2006 @@ -543,7 +543,8 @@ AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, rm_msg_ctx, AXIS2_FAILURE); - + + printf("In Application Message Processor*************************************** \n"); msg_ctx = SANDESHA2_MSG_CTX_GET_MSG_CTX(rm_msg_ctx, env); conf_ctx = AXIS2_MSG_CTX_GET_CONF_CTX(msg_ctx, env); /* TODO setting up fault callback */ @@ -706,8 +707,6 @@ { axis2_char_t *incoming_seq_id = NULL; sandesha2_seq_property_bean_t *incoming_to_bean = NULL; - /*axis2_msg_ctx_t *req_msg_ctx = NULL; - sandesha2_msg_ctx_t *req_rm_msg_ctx = NULL;*/ sandesha2_seq_t *seq = NULL; axis2_char_t *req_seq_id = NULL; sandesha2_seq_property_bean_t *spec_ver_bean = NULL; @@ -1256,18 +1255,20 @@ axis2_property_t *property = NULL; axis2_ctx_t *ctx = NULL; + printf("came20*********************************************************************\n"); op_ctx = AXIS2_MSG_CTX_GET_OP_CTX(app_msg_ctx, env); if(NULL != op_ctx) { - ctx = AXIS2_OP_CTX_GET_BASE(op_ctx, env); - property = AXIS2_CTX_GET_PROPERTY(ctx, env, + property = AXIS2_CTX_GET_PROPERTY(app_msg_ctx, env, SANDESHA2_CLIENT_LAST_MESSAGE, AXIS2_FALSE); + printf("came21******************************************************************\n"); if(NULL != property) { axis2_char_t *value = AXIS2_PROPERTY_GET_VALUE(property, env); if(NULL != value && 0 == AXIS2_STRCMP(value, SANDESHA2_VALUE_TRUE)) { + printf("came22***************************************************************\n"); axis2_char_t *spec_ver = NULL; spec_ver = sandesha2_utils_get_rm_version(env, internal_seq_id, mgr); @@ -1276,6 +1277,7 @@ sandesha2_spec_specific_consts_is_last_msg_indicator_reqd (env, spec_ver)) { + printf("came23*************************************************************\n"); SANDESHA2_SEQ_SET_LAST_MSG(seq, env, sandesha2_last_msg_create(env, rm_ns_val)); } 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=442855&r1=442854&r2=442855 ============================================================================== --- webservices/sandesha/trunk/c/src/util/spec_specific_consts.c (original) +++ webservices/sandesha/trunk/c/src/util/spec_specific_consts.c Tue Sep 12 22:27:43 2006 @@ -21,8 +21,9 @@ #include <axis2_addr.h> AXIS2_EXTERN axis2_char_t* AXIS2_CALL -sandesha2_spec_specific_consts_get_spec_ver_str(const axis2_env_t *env, - axis2_char_t *ns_val) +sandesha2_spec_specific_consts_get_spec_ver_str( + const axis2_env_t *env, + axis2_char_t *ns_val) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, ns_val, AXIS2_FAILURE); @@ -371,4 +372,21 @@ } } +axis2_bool_t AXIS2_CALL +sandesha2_spec_specific_consts_is_last_msg_indicator_reqd( + const axis2_env_t *env, + axis2_char_t *spec_version) +{ + if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_0, spec_version)) + { + return AXIS2_TRUE; + } + else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version)) + return AXIS2_FALSE; + else + AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE, + AXIS2_FAILURE); + return AXIS2_FALSE; +} + Modified: webservices/sandesha/trunk/c/src/wsrm/last_msg.c URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/last_msg.c?view=diff&rev=442855&r1=442854&r2=442855 ============================================================================== --- webservices/sandesha/trunk/c/src/wsrm/last_msg.c (original) +++ webservices/sandesha/trunk/c/src/wsrm/last_msg.c Tue Sep 12 22:27:43 2006 @@ -56,7 +56,9 @@ /***************************** End of function headers ************************/ AXIS2_EXTERN sandesha2_last_msg_t* AXIS2_CALL -sandesha2_last_msg_create(const axis2_env_t *env, axis2_char_t *ns_val) +sandesha2_last_msg_create( + const axis2_env_t *env, + axis2_char_t *ns_val) { sandesha2_last_msg_impl_t *last_msg_impl = NULL; AXIS2_ENV_CHECK(env, NULL); @@ -181,8 +183,10 @@ axiom_node_t* AXIS2_CALL -sandesha2_last_msg_to_om_node(sandesha2_iom_rm_element_t *last_msg, - const axis2_env_t *env, void *om_node) +sandesha2_last_msg_to_om_node( + sandesha2_iom_rm_element_t *last_msg, + const axis2_env_t *env, + void *om_node) { sandesha2_last_msg_impl_t *last_msg_impl = NULL; axiom_namespace_t *rm_ns = NULL; @@ -210,8 +214,10 @@ } axis2_bool_t AXIS2_CALL -sandesha2_last_msg_is_namespace_supported(sandesha2_iom_rm_element_t *last_msg, - const axis2_env_t *env, axis2_char_t *namespace) +sandesha2_last_msg_is_namespace_supported( + sandesha2_iom_rm_element_t *last_msg, + const axis2_env_t *env, + axis2_char_t *namespace) { sandesha2_last_msg_impl_t *last_msg_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]