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 da...@apache.org on 2006/10/24 08:08:29 UTC
svn commit: r467254 - in /webservices/axis2/trunk/c: modules/core/clientapi/
modules/core/deployment/ modules/core/description/ modules/core/engine/
modules/core/phaseresolver/ samples/server/math/
Author: damitha
Date: Mon Oct 23 23:08:29 2006
New Revision: 467254
URL: http://svn.apache.org/viewvc?view=rev&rev=467254
Log:
Fixed AXIS2C-372
Modified:
webservices/axis2/trunk/c/modules/core/clientapi/op_client.c
webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
webservices/axis2/trunk/c/modules/core/description/svc_grp.c
webservices/axis2/trunk/c/modules/core/engine/conf.c
webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
webservices/axis2/trunk/c/samples/server/math/math_skeleton.c
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=467254&r1=467253&r2=467254
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/op_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/op_client.c Mon Oct 23 23:08:29 2006
@@ -488,13 +488,22 @@
axis2_char_t *address = NULL;
const axis2_char_t *epr_address = NULL;
axis2_property_t *property = NULL;
+ axis2_endpoint_ref_t *to_epr = NULL;
/* Usual Request-Response Sync implementation */
+ property = AXIS2_OPTIONS_GET_PROPERTY(op_client_impl->options, env,
+ AXIS2_TARGET_EPR);
+ if(property)
+ {
+ to_epr = AXIS2_PROPERTY_GET_VALUE(property, env);
+ property = NULL;
+ }
+ if(!to_epr)
+ to_epr = AXIS2_OPTIONS_GET_TO(op_client_impl->options, env);
+ epr_address = AXIS2_ENDPOINT_REF_GET_ADDRESS(to_epr, env);
+ address = AXIS2_STRDUP(epr_address, env);
property = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
- epr_address = AXIS2_ENDPOINT_REF_GET_ADDRESS(
- AXIS2_OPTIONS_GET_TO(op_client_impl->options, env), env);
- address = AXIS2_STRDUP(epr_address, env);
AXIS2_PROPERTY_SET_VALUE(property, env, address);
AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env,
AXIS2_TRANSPORT_URL, property, AXIS2_FALSE);
Modified: webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c?view=diff&rev=467254&r1=467253&r2=467254
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c Mon Oct 23 23:08:29 2006
@@ -1138,7 +1138,10 @@
qmodulename);
if (module_desc)
{
- AXIS2_SVC_ENGAGE_MODULE(svc, env, module_desc, dep_engine_impl->conf);
+ axis2_status_t status = AXIS2_FAILURE;
+ status = AXIS2_SVC_ENGAGE_MODULE(svc, env, module_desc, dep_engine_impl->conf);
+ if(!status)
+ return status;
}
else
Modified: webservices/axis2/trunk/c/modules/core/description/svc_grp.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/description/svc_grp.c?view=diff&rev=467254&r1=467253&r2=467254
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/svc_grp.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/svc_grp.c Mon Oct 23 23:08:29 2006
@@ -660,7 +660,7 @@
axis_svc = (axis2_svc_t *) v;
status = AXIS2_PHASE_RESOLVER_ENGAGE_MODULE_TO_SVC(phase_resolver,
env, axis_svc, module);
- if (AXIS2_FAILURE == status)
+ if (!status)
{
if (phase_resolver)
{
Modified: webservices/axis2/trunk/c/modules/core/engine/conf.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/engine/conf.c?view=diff&rev=467254&r1=467253&r2=467254
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/conf.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/conf.c Mon Oct 23 23:08:29 2006
@@ -1962,9 +1962,9 @@
status = AXIS2_PHASE_RESOLVER_ENGAGE_MODULE_GLOBALLY(phase_resolver, env,
module_desc);
AXIS2_PHASE_RESOLVER_FREE(phase_resolver, env);
- if (AXIS2_SUCCESS != status)
+ if (!status)
{
- return AXIS2_FAILURE;
+ return status;
}
module_qname = AXIS2_MODULE_DESC_GET_QNAME(module_desc, env);
module_qref_l = AXIS2_QNAME_CLONE(module_qname, env);
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c?view=diff&rev=467254&r1=467253&r2=467254
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c Mon Oct 23 23:08:29 2006
@@ -26,9 +26,6 @@
/** service */
axis2_svc_t *svc;
-
- /** phase holder */
- axis2_phase_holder_t *phase_holder;
}
axis2_phase_resolver_impl_t;
@@ -141,9 +138,6 @@
resolver_impl->phase_resolver.ops = NULL;
resolver_impl->axis2_config = NULL;
resolver_impl->svc = NULL;
- resolver_impl->phase_holder = NULL;
-
-
resolver_impl->phase_resolver.ops =
AXIS2_MALLOC(env->allocator, sizeof(axis2_phase_resolver_ops_t));
@@ -241,12 +235,6 @@
resolver_impl->svc = NULL;
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
-
if (phase_resolver->ops)
{
AXIS2_FREE(env->allocator, phase_resolver->ops);
@@ -319,6 +307,8 @@
{
status = axis2_phase_resolver_build_execution_chains(phase_resolver,
env, i, op);
+ if(!status)
+ break;
}
return status;
}
@@ -338,6 +328,7 @@
int status = AXIS2_FAILURE;
axis2_flow_t *flow = NULL;
axis2_property_t *property = NULL;
+ axis2_phase_holder_t *phase_holder = NULL;
resolver_impl = AXIS2_INTF_TO_IMPL(phase_resolver);
@@ -605,11 +596,6 @@
return AXIS2_SUCCESS;
}
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- }
-
switch (type)
{
case AXIS2_IN_FLOW:
@@ -617,7 +603,7 @@
axis2_array_list_t *phase_list = NULL;
phase_list = AXIS2_OP_GET_IN_FLOW(op, env);
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
break;
}
@@ -626,7 +612,7 @@
axis2_array_list_t *phase_list = NULL;
phase_list = AXIS2_OP_GET_OUT_FLOW(op, env);
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
break;
}
@@ -635,7 +621,7 @@
axis2_array_list_t *phase_list = NULL;
phase_list = AXIS2_OP_GET_FAULT_IN_FLOW(op, env);
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
break;
}
@@ -644,7 +630,7 @@
axis2_array_list_t *phase_list = NULL;
phase_list = AXIS2_OP_GET_FAULT_OUT_FLOW(op, env);
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
break;
}
@@ -662,16 +648,20 @@
metadata = (axis2_handler_desc_t *)
AXIS2_ARRAY_LIST_GET(all_handlers, env, i);
- if (resolver_impl->phase_holder)
+ if (phase_holder)
{
- status = AXIS2_PHASE_HOLDER_ADD_HANDLER(resolver_impl->phase_holder,
+ status = AXIS2_PHASE_HOLDER_ADD_HANDLER(phase_holder,
env, metadata);
+ if(!status)
+ break;
}
}
/* Free the locally created all_handlers list */
if (all_handlers)
AXIS2_ARRAY_LIST_FREE(all_handlers, env);
+ if(phase_holder)
+ AXIS2_PHASE_HOLDER_FREE(phase_holder, env);
return status;
}
@@ -839,7 +829,7 @@
}
}
phase_holder = axis2_phase_holder_create(env);
- if (NULL == phase_holder)
+ if (!phase_holder)
{
if (handlers)
{
@@ -978,7 +968,7 @@
}
}
phase_holder = axis2_phase_holder_create(env);
- if (NULL == phase_holder)
+ if (!phase_holder)
{
if (handlers)
{
@@ -1108,6 +1098,7 @@
axis2_hash_index_t *index_i = NULL;
int type = 0;
axis2_status_t status = AXIS2_FAILURE;
+ axis2_phase_holder_t *phase_holder = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, svc, AXIS2_FAILURE);
@@ -1168,12 +1159,7 @@
axis2_array_list_t *phase_list = NULL;
phase_list = AXIS2_OP_GET_IN_FLOW(op_desc, env);
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
break;
}
@@ -1182,12 +1168,7 @@
axis2_array_list_t *phase_list = NULL;
phase_list = AXIS2_OP_GET_OUT_FLOW(op_desc, env);
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
break;
}
@@ -1196,12 +1177,7 @@
axis2_array_list_t *phase_list = NULL;
phase_list = AXIS2_OP_GET_FAULT_IN_FLOW(op_desc, env);
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
break;
}
@@ -1210,12 +1186,7 @@
axis2_array_list_t *phase_list = NULL;
phase_list = AXIS2_OP_GET_FAULT_OUT_FLOW(op_desc, env);
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
break;
}
@@ -1272,10 +1243,15 @@
(0 != AXIS2_STRCMP(AXIS2_PHASE_POST_DISPATCH, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_PRE_DISPATCH, phase_name)))
{
- if (resolver_impl->phase_holder)
+ if (phase_holder)
{
status = AXIS2_PHASE_HOLDER_ADD_HANDLER(
- resolver_impl->phase_holder, env, metadata);
+ phase_holder, env, metadata);
+ if(!status)
+ {
+ AXIS2_PHASE_HOLDER_FREE(phase_holder, env);
+ return status;
+ }
}
}
}
@@ -1288,6 +1264,8 @@
}
}
+ if(phase_holder)
+ AXIS2_PHASE_HOLDER_FREE(phase_holder, env);
return AXIS2_SUCCESS;
}
@@ -1301,6 +1279,7 @@
axis2_phase_resolver_impl_t *resolver_impl = NULL;
int type = 0;
axis2_status_t status = AXIS2_FAILURE;
+ axis2_phase_holder_t *phase_holder = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
resolver_impl = AXIS2_INTF_TO_IMPL(phase_resolver);
@@ -1318,14 +1297,9 @@
phase_list =
AXIS2_CONF_GET_IN_PHASES_UPTO_AND_INCLUDING_POST_DISPATCH(
resolver_impl->axis2_config, env);
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
- if (!resolver_impl->phase_holder) continue;
+ if (!phase_holder) continue;
break;
}
case AXIS2_OUT_FLOW:
@@ -1334,14 +1308,9 @@
phase_list = AXIS2_CONF_GET_OUT_FLOW(resolver_impl->axis2_config,
env);
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
- if (!resolver_impl->phase_holder) continue;
+ if (!phase_holder) continue;
break;
}
case AXIS2_FAULT_IN_FLOW:
@@ -1350,14 +1319,9 @@
phase_list = AXIS2_CONF_GET_IN_FAULT_FLOW(resolver_impl->
axis2_config, env);
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
- if (!resolver_impl->phase_holder) continue;
+ if (!phase_holder) continue;
break;
}
case AXIS2_FAULT_OUT_FLOW:
@@ -1366,14 +1330,9 @@
phase_list = AXIS2_CONF_GET_OUT_FAULT_FLOW(resolver_impl->
axis2_config, env);
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
- if (!resolver_impl->phase_holder) continue;
+ if (!phase_holder) continue;
break;
}
}
@@ -1427,10 +1386,11 @@
(0 == AXIS2_STRCMP(AXIS2_PHASE_POST_DISPATCH, phase_name)) ||
(0 == AXIS2_STRCMP(AXIS2_PHASE_PRE_DISPATCH, phase_name)))
{
- status = AXIS2_PHASE_HOLDER_ADD_HANDLER(resolver_impl->
- phase_holder, env, metadata);
- if (AXIS2_SUCCESS != status)
+ status = AXIS2_PHASE_HOLDER_ADD_HANDLER(phase_holder, env,
+ metadata);
+ if (!status)
{
+ AXIS2_PHASE_HOLDER_FREE(phase_holder, env);
return status;
}
@@ -1446,6 +1406,8 @@
}
}
}
+ if(phase_holder)
+ AXIS2_PHASE_HOLDER_FREE(phase_holder, env);
return AXIS2_SUCCESS;
}
@@ -1537,6 +1499,7 @@
{
axis2_phase_resolver_impl_t *resolver_impl = NULL;
int type = 0;
+ axis2_phase_holder_t *phase_holder = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, axis_op, AXIS2_FAILURE);
@@ -1548,12 +1511,6 @@
axis2_flow_t *flow = NULL;
axis2_array_list_t *phases = NULL;
- if (resolver_impl->phase_holder)
- {
- AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
- resolver_impl->phase_holder = NULL;
- }
-
switch (type)
{
case AXIS2_IN_FLOW:
@@ -1580,7 +1537,7 @@
if (phases)
{
- resolver_impl->phase_holder =
+ phase_holder =
axis2_phase_holder_create_with_phases(env, phases);
}
@@ -1609,7 +1566,7 @@
}
}
- if (flow && NULL != resolver_impl->phase_holder)
+ if (flow && NULL != phase_holder)
{
int j = 0;
int handler_count = 0;
@@ -1630,12 +1587,14 @@
(0 != AXIS2_STRCMP(AXIS2_PHASE_POST_DISPATCH, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_PRE_DISPATCH, phase_name)))
{
- status = AXIS2_PHASE_HOLDER_ADD_HANDLER(resolver_impl->phase_holder,
+ status = AXIS2_PHASE_HOLDER_ADD_HANDLER(phase_holder,
env, metadata);
if (AXIS2_SUCCESS != status)
{
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
"Handler inclusion failed for %s phase", phase_name);
+ AXIS2_PHASE_HOLDER_FREE(phase_holder, env);
+ return status;
}
}
@@ -1669,5 +1628,11 @@
}
}
}
+ if(phase_holder)
+ {
+ AXIS2_PHASE_HOLDER_FREE(phase_holder, env);
+ phase_holder = NULL;
+ }
return AXIS2_SUCCESS;
}
+
Modified: webservices/axis2/trunk/c/samples/server/math/math_skeleton.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/math/math_skeleton.c?view=diff&rev=467254&r1=467253&r2=467254
==============================================================================
--- webservices/axis2/trunk/c/samples/server/math/math_skeleton.c (original)
+++ webservices/axis2/trunk/c/samples/server/math/math_skeleton.c Mon Oct 23 23:08:29 2006
@@ -36,7 +36,7 @@
AXIS2_EXTERN axis2_svc_skeleton_t * AXIS2_CALL
-axis2_math_create(const axis2_env_t *env)
+math_create(const axis2_env_t *env)
{
axis2_svc_skeleton_t *svc_skeleton = NULL;
svc_skeleton = AXIS2_MALLOC(env->allocator,
@@ -143,7 +143,7 @@
AXIS2_EXPORT int axis2_get_instance(struct axis2_svc_skeleton **inst,
const axis2_env_t *env)
{
- *inst = axis2_math_create(env);
+ *inst = math_create(env);
/*if( *inst)
{
status = *inst->init();
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org