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/02/08 05:56:19 UTC
svn commit: r375849 -
/webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
Author: damitha
Date: Tue Feb 7 20:56:16 2006
New Revision: 375849
URL: http://svn.apache.org/viewcvs?rev=375849&view=rev
Log:
add error handler code
Modified:
webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c?rev=375849&r1=375848&r2=375849&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c Tue Feb 7 20:56:16 2006
@@ -1065,10 +1065,18 @@
{
axis2_handler_desc_t *metadata = NULL;
axis2_char_t *phase_name = NULL;
+ axis2_phase_rule_t *phase_rule = NULL;
metadata = AXIS2_FLOW_GET_HANDLER(flow, env, j);
- phase_name = AXIS2_PHASE_RULE_GET_NAME(
- AXIS2_HANDLER_DESC_GET_RULES(metadata, env), env);
+ phase_rule = AXIS2_HANDLER_DESC_GET_RULES(metadata, env);
+ if(phase_rule)
+ {
+ phase_name = AXIS2_PHASE_RULE_GET_NAME(phase_rule, env);
+ }
+ if(!phase_name)
+ {
+ return AXIS2_FAILURE;
+ }
if ((0 != AXIS2_STRCMP(AXIS2_PHASE_TRANSPORTIN, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_DISPATCH, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_POST_DISPATCH, phase_name)) &&
@@ -1102,7 +1110,9 @@
{
axis2_phase_resolver_impl_t *resolver_impl = NULL;
int type = 0;
-
+ axis2_status_t status = AXIS2_FAILURE;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
resolver_impl = AXIS2_INTF_TO_IMPL(phase_resolver);
for (type = 1; type < 5; type++)
@@ -1173,17 +1183,29 @@
{
axis2_handler_desc_t *metadata = NULL;
axis2_char_t *phase_name = NULL;
+ axis2_phase_rule_t *phase_rule = NULL;
metadata = AXIS2_FLOW_GET_HANDLER(flow, env, j);
- phase_name = AXIS2_PHASE_RULE_GET_NAME(
- AXIS2_HANDLER_DESC_GET_RULES(metadata, env), env);
+ phase_rule = AXIS2_HANDLER_DESC_GET_RULES(metadata, env);
+ if(phase_rule)
+ {
+ phase_name = AXIS2_PHASE_RULE_GET_NAME(phase_rule, env);
+ }
+ if(!phase_name)
+ {
+ return AXIS2_FAILURE;
+ }
if ((0 != AXIS2_STRCMP(AXIS2_PHASE_TRANSPORTIN, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_DISPATCH, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_POST_DISPATCH, phase_name)) &&
(0 != AXIS2_STRCMP(AXIS2_PHASE_PRE_DISPATCH, phase_name)))
{
- AXIS2_PHASE_HOLDER_ADD_HANDLER(resolver_impl->phase_holder,
+ status = AXIS2_PHASE_HOLDER_ADD_HANDLER(resolver_impl->phase_holder,
env, metadata);
+ if(AXIS2_SUCCESS != status)
+ {
+ return status;
+ }
}
else