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