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/04/04 10:18:59 UTC

svn commit: r391245 - in /webservices/axis2/trunk/c: include/ modules/core/clientapi/diclient/ modules/wsdl/ modules/wsdl/builder/ samples/client/diclient/

Author: damitha
Date: Tue Apr  4 01:18:56 2006
New Revision: 391245

URL: http://svn.apache.org/viewcvs?rev=391245&view=rev
Log:
Some improvements to di client

Modified:
    webservices/axis2/trunk/c/include/axis2_di_client.h
    webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_address.h
    webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_op.h
    webservices/axis2/trunk/c/include/axis2_wsdl_svc.h
    webservices/axis2/trunk/c/modules/core/clientapi/diclient/di_client.c
    webservices/axis2/trunk/c/modules/wsdl/builder/wsdl_pump.c
    webservices/axis2/trunk/c/modules/wsdl/wsdl_ext_soap_address.c
    webservices/axis2/trunk/c/samples/client/diclient/echo_client.c

Modified: webservices/axis2/trunk/c/include/axis2_di_client.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_di_client.h?rev=391245&r1=391244&r2=391245&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_di_client.h (original)
+++ webservices/axis2/trunk/c/include/axis2_di_client.h Tue Apr  4 01:18:56 2006
@@ -89,8 +89,7 @@
     axis2_status_t *(AXIS2_CALL *
     set_address_and_action_for_op) (axis2_diclient_t *diclient,
                                     axis2_env_t **env,
-                                    axis2_qname_t *op_qname,
-                                    axis2_qname_t *endpoint_qname);
+                                    axis2_qname_t *op_qname);
 
 
     /**
@@ -102,6 +101,14 @@
                   axis2_env_t **env);
 
     /**
+     * Return all the services associated with the wsdl
+     * @return table of services associated with the wsdl
+     */
+    axis2_hash_t *(AXIS2_CALL *
+    get_services) (axis2_diclient_t *diclient,
+                  axis2_env_t **env);
+
+    /**
      * Return the all operations associated with the wsdl
      * @return table of operations associated with the wsdl
      */
@@ -169,13 +176,15 @@
 #define AXIS2_DICLIENT_INIT(diclient, env, wsdl_file_name) \
 		((diclient)->ops->init (diclient, env, wsdl_file_name))
 
-#define AXIS2_DICLIENT_SET_ADDRESS_AND_ACTION_FOR_OP(diclient, env, op_qname, \
-                endpoint_qname) \
+#define AXIS2_DICLIENT_SET_ADDRESS_AND_ACTION_FOR_OP(diclient, env, op_qname) \
 		((diclient)->ops->set_address_and_action_for_op (diclient, env, \
-                op_qname, endpoint_qname))
+                op_qname))
 
 #define AXIS2_DICLIENT_GET_ENDPOINTS(diclient, env) \
 		((diclient)->ops->get_endpoints (diclient, env))
+
+#define AXIS2_DICLIENT_GET_SERVICES(diclient, env) \
+		((diclient)->ops->get_services (diclient, env))
 
 #define AXIS2_DICLIENT_GET_OPERATIONS(diclient, env) \
 		((diclient)->ops->get_operations (diclient, env))

Modified: webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_address.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_address.h?rev=391245&r1=391244&r2=391245&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_address.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_address.h Tue Apr  4 01:18:56 2006
@@ -28,6 +28,7 @@
 #include <axis2_env.h>
 #include <axis2_allocator.h>
 #include <axis2_wsdl_component.h>
+#include <axis2_wsdl_ext.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -67,7 +68,7 @@
     set_location_uri) (axis2_wsdl_ext_soap_address_t *ext_soap_address,
                                     axis2_env_t **env,
                                     axis2_char_t *location_uri);
-     
+ 
 };
 
 /** 
@@ -78,6 +79,7 @@
  */  
 AXIS2_DECLARE_DATA struct axis2_wsdl_ext_soap_address
 {
+    axis2_wsdl_ext_t base;
 	axis2_wsdl_ext_soap_address_ops_t *ops;
     struct axis2_wsdl_extensible_element *ext_element;
 };

Modified: webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_op.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_op.h?rev=391245&r1=391244&r2=391245&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_op.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_ext_soap_op.h Tue Apr  4 01:18:56 2006
@@ -28,6 +28,7 @@
 #include <axis2_env.h>
 #include <axis2_allocator.h>
 #include <axis2_wsdl_component.h>
+#include <axis2_wsdl_ext.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -82,6 +83,7 @@
  */  
 AXIS2_DECLARE_DATA struct axis2_wsdl_ext_soap_op
 {
+    axis2_wsdl_ext_t base;
 	axis2_wsdl_ext_soap_op_ops_t *ops;
     struct axis2_wsdl_extensible_element *ext_element;
 };

Modified: webservices/axis2/trunk/c/include/axis2_wsdl_svc.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_svc.h?rev=391245&r1=391244&r2=391245&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_svc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_svc.h Tue Apr  4 01:18:56 2006
@@ -116,7 +116,7 @@
      * Endpoint will be retrived by its qname.
      *
      * @param qName qname of the Service
-     * @return <code>WSDLEndpoint</code> Object.
+     * @return <code>WSDL Endpoint</code> Object.
      */
     struct axis2_wsdl_endpoint * (AXIS2_CALL *
     get_endpoint) (axis2_wsdl_svc_t *wsdl_svc,
@@ -125,16 +125,16 @@
 
     /**
      * If the Name of the <code>WSDLService</code> is not set a
-     * <code>WSDLProcessingException</code> will be thrown.
+     * Error code will be set
      *
-     * @return Target Namespace as a <code>String</code>
+     * @return Target Namespace as a <code>axis2_char_t</code>
      */
     axis2_char_t *(AXIS2_CALL *
     get_namespace) (axis2_wsdl_svc_t *wsdl_svc,
                                     axis2_env_t **env);
 
     /**
-     * Method getServiceInterface
+     * Method get_svc_interface
      *
      * @return
      */

Modified: webservices/axis2/trunk/c/modules/core/clientapi/diclient/di_client.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/clientapi/diclient/di_client.c?rev=391245&r1=391244&r2=391245&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/diclient/di_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/diclient/di_client.c Tue Apr  4 01:18:56 2006
@@ -41,6 +41,7 @@
 #include <axis2_wsdl4c_parser.h>
 #include <axis2_wsdl_pump.h>
 #include <axis2_wsdl_desc.h>
+#include <axis2_wsdl4c_soap.h>
 
 #include <axis2_wsdl_ext_soap_address.h>
 #include <axis2_wsdl_ext_soap_op.h>
@@ -56,6 +57,7 @@
     axis2_wsdl_desc_t *wsdl_desc;
     axis2_hash_t *op_map;
     axis2_hash_t *endpoint_map;
+    axis2_hash_t *svc_map;
     axis2_hash_t *op_param_map;
     axis2_char_t *wsa_action;
     axis2_char_t *address;
@@ -88,8 +90,7 @@
 axis2_status_t *AXIS2_CALL
 axis2_diclient_set_address_and_action_for_op(axis2_diclient_t *diclient,
                                         axis2_env_t **env,
-                                        axis2_qname_t *op_qname,
-                                        axis2_qname_t *endpoint_qname);
+                                        axis2_qname_t *op_qname);
 
 
 axis2_hash_t *AXIS2_CALL
@@ -97,6 +98,10 @@
                                 axis2_env_t **env);
 
 axis2_hash_t *AXIS2_CALL
+axis2_diclient_get_services(axis2_diclient_t *diclient,
+                                axis2_env_t **env);
+
+axis2_hash_t *AXIS2_CALL
 axis2_diclient_get_operations(axis2_diclient_t *diclient,
                                 axis2_env_t **env);
 
@@ -146,6 +151,7 @@
     diclient_impl->op_map = NULL;
     diclient_impl->op_param_map = NULL;
     diclient_impl->endpoint_map = NULL;
+    diclient_impl->svc_map = NULL;
     diclient_impl->wsa_action = NULL;
     diclient_impl->address= NULL;
     diclient_impl->diclient.ops = NULL;
@@ -165,6 +171,7 @@
     diclient_impl->diclient.ops->set_address_and_action_for_op =  
             axis2_diclient_set_address_and_action_for_op;
 	diclient_impl->diclient.ops->get_endpoints = axis2_diclient_get_endpoints;
+	diclient_impl->diclient.ops->get_services = axis2_diclient_get_services;
 	diclient_impl->diclient.ops->get_operations = axis2_diclient_get_operations;
     diclient_impl->diclient.ops->get_param_localname = 
             axis2_diclient_get_param_localname;
@@ -240,7 +247,6 @@
 {
     axis2_diclient_impl_t *diclient_impl = NULL;
 	axis2_wsdl_pump_t *wsdl_pump = NULL;
-	axis2_hash_t *svcs = NULL;
 	axis2_hash_t *endpoints = NULL;
 	axis2_hash_index_t *index1 = NULL;
 	axis2_hash_t *ops = NULL;
@@ -275,8 +281,8 @@
 	}
 	AXIS2_WSDL_PUMP_PUMP(wsdl_pump, env);
     
-    svcs = AXIS2_WSDL_DESC_GET_SVCS(diclient_impl->wsdl_desc, env);
-    for (index1 = axis2_hash_first (svcs, env); index1; 
+    diclient_impl->svc_map = AXIS2_WSDL_DESC_GET_SVCS(diclient_impl->wsdl_desc, env);
+    for (index1 = axis2_hash_first (diclient_impl->svc_map, env); index1; 
                     index1 = axis2_hash_next (env, index1))
     {
         void *value = NULL;
@@ -473,13 +479,12 @@
 axis2_status_t *AXIS2_CALL
 axis2_diclient_set_address_and_action_for_op(axis2_diclient_t *diclient,
                                         axis2_env_t **env,
-                                        axis2_qname_t *op_qname,
-                                        axis2_qname_t *endpoint_qname)
+                                        axis2_qname_t *op_qname)
 {
     axis2_diclient_impl_t *diclient_impl = NULL;
     axis2_op_t *op = NULL;
     axis2_svc_t *svc = NULL;
-    axis2_wsdl_endpoint_t *wsdl_endpoint = NULL;
+    axis2_hash_t *wsdl_endpoints = NULL;
     axis2_wsdl_binding_t *wsdl_binding = NULL;
     axis2_char_t *op_name = NULL;
     axis2_linked_list_t *ext_elements = NULL;
@@ -490,6 +495,7 @@
     axis2_hash_index_t *index = NULL;
     axis2_wsdl_binding_op_t *wsdl_binding_op = NULL;
     axis2_char_t *wsa_action = NULL;
+    int i = 0, size = 0;
 
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK((*env)->error, op_qname, NULL);
@@ -498,42 +504,74 @@
     op_name = AXIS2_QNAME_GET_LOCALPART(op_qname, env);
     op = axis2_hash_get(diclient_impl->op_map, op_name, AXIS2_HASH_KEY_STRING);
     svc = AXIS2_OP_GET_PARENT(op, env);
-    wsdl_endpoint = AXIS2_SVC_GET_ENDPOINT(svc, env, endpoint_qname);
-    ext_elements = AXIS2_WSDL_COMPONENT_GET_EXTENSIBILITY_ELEMENTS(
-            wsdl_endpoint->wsdl_component, env);
-    soap_address = AXIS2_LINKED_LIST_GET(ext_elements, env, 0);
-    if(!soap_address) return AXIS2_FAILURE;
-    address = AXIS2_WSDL_EXT_SOAP_ADDRESS_GET_LOCATION_URI(
-        soap_address, env);
-    diclient_impl->address = AXIS2_STRDUP(address, env);
-    if(!diclient_impl->address) return AXIS2_FAILURE;
-    printf("address:%s\n", address);
-    printf("mep:%s\n", AXIS2_OP_GET_MSG_EXCHANGE_PATTERN(op, env));
-    wsdl_binding = AXIS2_WSDL_ENDPOINT_GET_BINDING(wsdl_endpoint, env);
-    binding_ops = AXIS2_WSDL_BINDING_GET_BINDING_OPS(wsdl_binding, env);
-    for (index = axis2_hash_first (binding_ops, env); index; 
+    wsdl_endpoints = AXIS2_SVC_GET_ENDPOINTS(svc, env);
+    for (index = axis2_hash_first (wsdl_endpoints, env); index; 
             index = axis2_hash_next (env, index))
     {
-        axis2_wsdl_op_t *op_x = NULL;
-        axis2_qname_t *op_qname_x = NULL;
-        axis2_char_t *op_name_x = NULL;
         void *value = NULL;
+        axis2_wsdl_endpoint_t *wsdl_endpoint = NULL;
 
         axis2_hash_this(index, NULL, NULL, &value);
-        wsdl_binding_op = (axis2_wsdl_binding_op_t *) value;
-        op_x = AXIS2_WSDL_BINDING_OP_GET_OP(wsdl_binding_op, env);
-        op_qname_x = AXIS2_WSDL_OP_GET_QNAME(op_x, env);
-        op_name_x = AXIS2_QNAME_GET_LOCALPART(op_qname_x, env);
-        if(0 == AXIS2_STRCMP(op_name, op_name_x))
-            break;
-    }
-    ext_elements = AXIS2_WSDL_COMPONENT_GET_EXTENSIBILITY_ELEMENTS(
-        wsdl_binding_op->extensible_component->wsdl_component, env);
-    soap_op = AXIS2_LINKED_LIST_GET(ext_elements, env, 0);
-    wsa_action = AXIS2_WSDL_EXT_SOAP_OP_GET_SOAP_ACTION(soap_op, env);
-    diclient_impl->wsa_action = AXIS2_STRDUP(wsa_action, env);
-    if(!diclient_impl->wsa_action) return AXIS2_FAILURE;
-    printf("wsa_action:%s\n", wsa_action);
+        wsdl_endpoint = (axis2_wsdl_endpoint_t *) value;
+        ext_elements = AXIS2_WSDL_COMPONENT_GET_EXTENSIBILITY_ELEMENTS(
+                wsdl_endpoint->wsdl_component, env);
+        size = AXIS2_LINKED_LIST_SIZE(ext_elements, env);
+        for(i = 0; i < size; i++)
+        {
+            axis2_wsdl_ext_t *wsdl_ext = NULL;
+            axis2_char_t *namespc = NULL;
+            
+            wsdl_ext = AXIS2_LINKED_LIST_GET(ext_elements, env, i);
+            if(!wsdl_ext) return AXIS2_FAILURE;
+            if(0 == AXIS2_STRCMP(AXIS2_WSDL4C_SOAP_BINDING_URI, wsdl_ext->namespc))
+            {
+                soap_address = (axis2_wsdl_ext_soap_address_t *) wsdl_ext;
+                address = AXIS2_WSDL_EXT_SOAP_ADDRESS_GET_LOCATION_URI(
+                    soap_address, env);
+                diclient_impl->address = AXIS2_STRDUP(address, env);
+                if(!diclient_impl->address) return AXIS2_FAILURE;
+                printf("address:%s\n", address);
+                printf("mep:%s\n", AXIS2_OP_GET_MSG_EXCHANGE_PATTERN(op, env));
+            }
+        }
+        wsdl_binding = AXIS2_WSDL_ENDPOINT_GET_BINDING(wsdl_endpoint, env);
+        binding_ops = AXIS2_WSDL_BINDING_GET_BINDING_OPS(wsdl_binding, env);
+        for (index = axis2_hash_first (binding_ops, env); index; 
+                index = axis2_hash_next (env, index))
+        {
+            axis2_wsdl_op_t *op_x = NULL;
+            axis2_qname_t *op_qname_x = NULL;
+            axis2_char_t *op_name_x = NULL;
+            void *value = NULL;
+
+            axis2_hash_this(index, NULL, NULL, &value);
+            wsdl_binding_op = (axis2_wsdl_binding_op_t *) value;
+            op_x = AXIS2_WSDL_BINDING_OP_GET_OP(wsdl_binding_op, env);
+            op_qname_x = AXIS2_WSDL_OP_GET_QNAME(op_x, env);
+            op_name_x = AXIS2_QNAME_GET_LOCALPART(op_qname_x, env);
+            if(0 == AXIS2_STRCMP(op_name, op_name_x))
+                break;
+        }
+        ext_elements = AXIS2_WSDL_COMPONENT_GET_EXTENSIBILITY_ELEMENTS(
+            wsdl_binding_op->extensible_component->wsdl_component, env);
+        size = AXIS2_LINKED_LIST_SIZE(ext_elements, env);
+        for(i = 0; i < size; i++)
+        {
+            axis2_wsdl_ext_t *wsdl_ext = NULL;
+            axis2_char_t *namespc = NULL;
+            
+            wsdl_ext = AXIS2_LINKED_LIST_GET(ext_elements, env, i);
+            if(!wsdl_ext) return AXIS2_FAILURE;
+            if(0 == AXIS2_STRCMP(AXIS2_WSDL4C_SOAP_BINDING_URI, wsdl_ext->namespc))
+            {
+                soap_op = (axis2_wsdl_ext_soap_op_t *) wsdl_ext;
+                wsa_action = AXIS2_WSDL_EXT_SOAP_OP_GET_SOAP_ACTION(soap_op, env);
+                diclient_impl->wsa_action = AXIS2_STRDUP(wsa_action, env);
+                if(!diclient_impl->wsa_action) return AXIS2_FAILURE;
+                printf("wsa_action:%s\n", wsa_action);
+            }
+        }
+    }
     return AXIS2_SUCCESS;
 }
 
@@ -543,6 +581,14 @@
 {
     AXIS2_ENV_CHECK(env, NULL);
     return AXIS2_INTF_TO_IMPL(diclient)->endpoint_map;
+}
+
+axis2_hash_t *AXIS2_CALL
+axis2_diclient_get_services(axis2_diclient_t *diclient,
+                                axis2_env_t **env)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+    return AXIS2_INTF_TO_IMPL(diclient)->svc_map;
 }
 
 axis2_hash_t *AXIS2_CALL

Modified: webservices/axis2/trunk/c/modules/wsdl/builder/wsdl_pump.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/builder/wsdl_pump.c?rev=391245&r1=391244&r2=391245&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/builder/wsdl_pump.c (original)
+++ webservices/axis2/trunk/c/modules/wsdl/builder/wsdl_pump.c Tue Apr  4 01:18:56 2006
@@ -691,6 +691,8 @@
 		str_style = AXIS2_STRDUP("document", env);
 	}
 	AXIS2_WSDL_EXT_SOAP_OP_SET_STYLE(ext_soap_op, env, str_style);
+    ext_soap_op->base.namespc = AXIS2_STRDUP(AXIS2_WSDL4C_SOAP_BINDING_URI, env);
+        if(!ext_soap_op->base.namespc) return AXIS2_FAILURE;
 	AXIS2_WSDL_COMPONENT_ADD_EXTENSIBILITY_ELEMENT(wsdl_binding_op->
 					extensible_component->wsdl_component, env, ext_soap_op);
     binding_op_qname = axis2_qname_create(env, op_name, NULL, NULL);
@@ -932,6 +934,8 @@
 		ext_soap_address = axis2_wsdl_ext_soap_address_create(env, NULL);
 		if(!ext_soap_address) return AXIS2_FAILURE;
 		AXIS2_WSDL_EXT_SOAP_ADDRESS_SET_LOCATION_URI(ext_soap_address, env, svc_location);
+		ext_soap_address->base.namespc = AXIS2_STRDUP(AXIS2_WSDL4C_SOAP_BINDING_URI, env);
+        if(!ext_soap_address->base.namespc) return AXIS2_FAILURE;
 		AXIS2_WSDL_COMPONENT_ADD_EXTENSIBILITY_ELEMENT(wsdl_endpoint->wsdl_component, 
             env, ext_soap_address);
 		status = AXIS2_WSDL_SVC_SET_ENDPOINT(wsdl_svc, env, wsdl_endpoint);

Modified: webservices/axis2/trunk/c/modules/wsdl/wsdl_ext_soap_address.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/wsdl_ext_soap_address.c?rev=391245&r1=391244&r2=391245&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/wsdl_ext_soap_address.c (original)
+++ webservices/axis2/trunk/c/modules/wsdl/wsdl_ext_soap_address.c Tue Apr  4 01:18:56 2006
@@ -45,7 +45,7 @@
 axis2_wsdl_ext_soap_address_set_location_uri(axis2_wsdl_ext_soap_address_t *ext_soap_address,
                                 axis2_env_t **env,
                                 axis2_char_t *location_uri);
-                                
+
 /************************** End of function prototypes ************************/
 
 axis2_wsdl_ext_soap_address_t * AXIS2_CALL 
@@ -70,6 +70,7 @@
     ext_soap_address_impl->ext_soap_address.ops = NULL;
     ext_soap_address_impl->ext_soap_address.ext_element = NULL;
 	
+
     ext_soap_address_impl->ext_soap_address.ext_element = 
         axis2_wsdl_extensible_element_create(env);
     if(NULL == ext_soap_address_impl->ext_soap_address.ext_element)
@@ -110,29 +111,23 @@
 axis2_wsdl_ext_soap_address_free (axis2_wsdl_ext_soap_address_t *ext_soap_address, 
                             axis2_env_t **env)
 {
-    axis2_wsdl_ext_soap_address_impl_t *exp_soap_address_impl = NULL;
+    axis2_wsdl_ext_soap_address_impl_t *ext_soap_address_impl = NULL;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     
-    exp_soap_address_impl = AXIS2_INTF_TO_IMPL(ext_soap_address);
+    ext_soap_address_impl = AXIS2_INTF_TO_IMPL(ext_soap_address);
     
 	if(NULL != ext_soap_address->ops)
         AXIS2_FREE((*env)->allocator, ext_soap_address->ops);
     
-    if(NULL != exp_soap_address_impl->location_uri)
-    {
-        AXIS2_FREE((*env)->allocator, exp_soap_address_impl->location_uri);
-        exp_soap_address_impl->location_uri = NULL;
-    }
-    
-    if(NULL != ext_soap_address->ext_element)
+    if(NULL != ext_soap_address_impl->location_uri)
     {
-        AXIS2_WSDL_EXTENSIBLE_ELEMENT_FREE(ext_soap_address->ext_element, env);
-        ext_soap_address->ext_element = NULL;
+        AXIS2_FREE((*env)->allocator, ext_soap_address_impl->location_uri);
+        ext_soap_address_impl->location_uri = NULL;
     }
     
-    AXIS2_FREE((*env)->allocator, exp_soap_address_impl);
-    exp_soap_address_impl = NULL;
+    AXIS2_FREE((*env)->allocator, ext_soap_address_impl);
+    ext_soap_address_impl = NULL;
     
 	return AXIS2_SUCCESS;
 }

Modified: webservices/axis2/trunk/c/samples/client/diclient/echo_client.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/samples/client/diclient/echo_client.c?rev=391245&r1=391244&r2=391245&view=diff
==============================================================================
--- webservices/axis2/trunk/c/samples/client/diclient/echo_client.c (original)
+++ webservices/axis2/trunk/c/samples/client/diclient/echo_client.c Tue Apr  4 01:18:56 2006
@@ -41,7 +41,6 @@
     char *wsdl_file_name = NULL;
     axis2_diclient_t *diclient = NULL;
     axis2_qname_t *op_qname = NULL;
-    axis2_qname_t *endpoint_qname = NULL;
     axis2_hash_t *op_map = NULL;
     axis2_hash_index_t *index = NULL;
     axis2_op_t *op = NULL;
@@ -65,9 +64,7 @@
     if(AXIS2_SUCCESS != status)
             return status;
     op_qname = axis2_qname_create(&env, "echo", NULL, NULL);
-    endpoint_qname = axis2_qname_create(&env, "wsaTestServicePort0", NULL, NULL);
-    AXIS2_DICLIENT_SET_ADDRESS_AND_ACTION_FOR_OP(diclient, &env, op_qname,
-            endpoint_qname);
+    AXIS2_DICLIENT_SET_ADDRESS_AND_ACTION_FOR_OP(diclient, &env, op_qname);
     /* build the SOAP request message content using OM API.*/
     node = build_om_programatically(&env, diclient, op_qname);
     op_map = AXIS2_DICLIENT_GET_OPERATIONS(diclient, &env);