You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2006/12/09 07:43:00 UTC
svn commit: r484938 - in /webservices/axis2/trunk/c: include/axis2_options.h
modules/core/clientapi/op_client.c modules/core/clientapi/options.c
Author: dinesh
Date: Fri Dec 8 22:42:58 2006
New Revision: 484938
URL: http://svn.apache.org/viewvc?view=rev&rev=484938
Log:
fixed:axis2c-209, invoke service with in a service. it crashes becasue of some problems in axiom_node and op_client.
Modified:
webservices/axis2/trunk/c/include/axis2_options.h
webservices/axis2/trunk/c/modules/core/clientapi/op_client.c
webservices/axis2/trunk/c/modules/core/clientapi/options.c
Modified: webservices/axis2/trunk/c/include/axis2_options.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_options.h?view=diff&rev=484938&r1=484937&r2=484938
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_options.h (original)
+++ webservices/axis2/trunk/c/include/axis2_options.h Fri Dec 8 22:42:58 2006
@@ -661,6 +661,29 @@
const axis2_env_t *env,
const axis2_char_t *soap_action);
+ /**
+ * Sets xml parser reset
+ * @param options pointer to options struct
+ * @param env pointer to environment struct
+ * @param reset flag is a boolean value
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_xml_parser_reset)(
+ axis2_options_t *options,
+ const axis2_env_t *env,
+ const axis2_bool_t paser_reset_flag);
+
+ /**
+ * Gets xml parser reset value,
+ * @param options pointer to options struct
+ * @param env pointer to environment struct
+ * @return xml parser reset boolean value
+ */
+ axis2_bool_t (AXIS2_CALL *
+ get_xml_parser_reset)(
+ const axis2_options_t *options,
+ const axis2_env_t *env);
/**
* Frees options struct.
@@ -786,6 +809,11 @@
#define AXIS2_OPTIONS_GET_TO(options, env) \
((options)->ops->get_to(options, env))
+/** Get xml parser reset value
+ @sa axis2_options_opt#get_xml_parser_reset */
+#define AXIS2_OPTIONS_GET_XML_PARSER_RESET(options, env) \
+ ((options)->ops->get_xml_parser_reset(options, env))
+
/** Whether to use a separate listener.
@sa axis2_options_ops#get_use_separate_listener */
#define AXIS2_OPTIONS_GET_USE_SEPERATE_LISTENER(options, env) \
@@ -943,6 +971,9 @@
#define AXIS2_OPTIONS_SET_SOAP_ACTION(options, env, action) \
((options)->ops->set_soap_action(options, env, action))
+/** Sets xml parser reset value */
+#define AXIS2_OPTIONS_SET_XML_PARSER_RESET(options, env, flag) \
+ ((options)->ops->set_xml_parser_reset(options, env, flag))
/** Frees the options struct.
@sa axis2_options_ops#free*/
Modified: webservices/axis2/trunk/c/modules/core/clientapi/op_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/clientapi/op_client.c?view=diff&rev=484938&r1=484937&r2=484938
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/op_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/op_client.c Fri Dec 8 22:42:58 2006
@@ -700,9 +700,14 @@
op_client_impl->op_ctx = NULL;
}
+ if (AXIS2_OPTIONS_GET_XML_PARSER_RESET(op_client_impl->options, env))
+ {
+ axiom_xml_reader_cleanup();
+ }
+
AXIS2_FREE(env->allocator, op_client_impl);
op_client_impl = NULL;
- axiom_xml_reader_cleanup();
+
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/modules/core/clientapi/options.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/clientapi/options.c?view=diff&rev=484938&r1=484937&r2=484938
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/options.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/options.c Fri Dec 8 22:42:58 2006
@@ -56,6 +56,7 @@
axis2_bool_t manage_session;
axis2_bool_t enable_mtom;
axis2_char_t *soap_action;
+ axis2_bool_t xml_parser_reset;
}
axis2_options_impl_t;
@@ -346,6 +347,17 @@
const axis2_options_t *options,
const axis2_env_t *env);
+axis2_status_t AXIS2_CALL
+axis2_options_set_xml_parser_reset(
+ axis2_options_t *options,
+ const axis2_env_t *env,
+ const axis2_bool_t xml_parser_reset);
+
+axis2_bool_t AXIS2_CALL
+axis2_options_get_xml_parser_reset(
+ const axis2_options_t *options,
+ const axis2_env_t *env);
+
axis2_options_t *AXIS2_CALL
axis2_options_create(
const axis2_env_t *env)
@@ -1240,6 +1252,7 @@
options_impl->soap_version = AXIOM_SOAP12;
options_impl->enable_mtom = AXIS2_FALSE;
options_impl->soap_action = NULL;
+ options_impl->xml_parser_reset = AXIS2_TRUE;
}
static void
@@ -1294,6 +1307,8 @@
options->ops->get_enable_mtom = axis2_options_get_enable_mtom;
options->ops->set_soap_action = axis2_options_set_soap_action;
options->ops->get_soap_action = axis2_options_get_soap_action;
+ options->ops->set_xml_parser_reset = axis2_options_set_xml_parser_reset;
+ options->ops->get_xml_parser_reset = axis2_options_get_xml_parser_reset;
options->ops->free = axis2_options_free;
}
@@ -1400,5 +1415,33 @@
}
return AXIS2_SUCCESS;
}
+
+
+axis2_bool_t AXIS2_CALL
+axis2_options_get_xml_parser_reset (
+ const axis2_options_t *options,
+ const axis2_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ return AXIS2_INTF_TO_IMPL(options)->xml_parser_reset;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_options_set_xml_parser_reset (
+ axis2_options_t *options,
+ const axis2_env_t *env,
+ const axis2_bool_t xml_parser_reset)
+{
+ axis2_options_impl_t *options_impl = NULL;
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ options_impl = AXIS2_INTF_TO_IMPL(options);
+
+ options_impl->xml_parser_reset = xml_parser_reset;
+ return AXIS2_SUCCESS;
+}
+
+
+
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org