You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2006/07/28 11:02:58 UTC

svn commit: r426444 - in /webservices/axis2/trunk/c: modules/core/clientapi/ modules/core/description/ modules/core/engine/ samples/client/dynamic_client/

Author: damitha
Date: Fri Jul 28 02:02:57 2006
New Revision: 426444

URL: http://svn.apache.org/viewvc?rev=426444&view=rev
Log:
dyanmic client is working now

Modified:
    webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c
    webservices/axis2/trunk/c/modules/core/description/client_utils.c
    webservices/axis2/trunk/c/modules/core/description/svc.c
    webservices/axis2/trunk/c/modules/core/engine/addr_disp.c
    webservices/axis2/trunk/c/modules/core/engine/disp.c
    webservices/axis2/trunk/c/samples/client/dynamic_client/calc_client.c

Modified: webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c?rev=426444&r1=426443&r2=426444&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/svc_client.c Fri Jul 28 02:02:57 2006
@@ -687,11 +687,19 @@
     axiom_soap_envelope_t *soap_envelope = NULL;
     axiom_soap_body_t *soap_body = NULL;
     axiom_node_t *soap_node = NULL;
+    axis2_op_t *op = NULL;
+    axis2_param_t *param = NULL;
+    axis2_uri_t *action_uri = NULL;
+    axis2_char_t *action_str = NULL;
 
    AXIS2_ENV_CHECK(env, NULL);
-
    svc_client_impl = AXIS2_INTF_TO_IMPL(svc_client);
 
+    op = AXIS2_SVC_GET_OP_WITH_QNAME(svc_client_impl->svc, env, op_qname);
+    param = AXIS2_OP_GET_PARAM(op, env, AXIS2_SOAP_ACTION);
+    action_uri = (axis2_uri_t *) AXIS2_PARAM_GET_VALUE(param, env);
+    action_str = AXIS2_URI_TO_STRING(action_uri, env, AXIS2_URI_UNP_OMITUSERINFO);
+    AXIS2_OPTIONS_SET_ACTION(svc_client_impl->options, env, action_str);
    if (!op_qname)
    {
        op_qname = axis2_qname_create(env, AXIS2_ANON_OUT_IN_OP, NULL, NULL);

Modified: webservices/axis2/trunk/c/modules/core/description/client_utils.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/description/client_utils.c?rev=426444&r1=426443&r2=426444&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/client_utils.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/client_utils.c Fri Jul 28 02:02:57 2006
@@ -125,9 +125,21 @@
         }
         if(AXIS2_TRUE == svc_found)
         {
-            axis2_char_t *localname = AXIS2_QNAME_GET_LOCALPART(svc_qname, env);
+            axis2_char_t *temp1 = NULL;
+            axis2_char_t *ns = NULL;
+            axis2_char_t *prefix = NULL;
+            axis2_char_t *localname = NULL;
+            axis2_qname_t *temp_svc_qname = NULL;
+
+            temp1 = AXIS2_QNAME_GET_LOCALPART(svc_qname, env);
+            localname = axis2_strcat(env, "dii_", temp1, NULL);
+            ns = AXIS2_QNAME_GET_URI(svc_qname, env);
+            prefix = AXIS2_QNAME_GET_PREFIX(svc_qname, env); 
+            temp_svc_qname = axis2_qname_create(env, localname, ns, prefix);
             AXIS2_SVC_SET_NAME(axis2_svc, env, localname);
-            AXIS2_SVC_SET_QNAME(axis2_svc, env, svc_qname);
+            AXIS2_SVC_SET_QNAME(axis2_svc, env, temp_svc_qname);
+            AXIS2_FREE(env->allocator, localname);
+            AXIS2_QNAME_FREE(temp_svc_qname, env);
         }
         endpoints = WODEN_SVC_GET_ENDPOINTS(wsdl_svc, env);
         if(endpoints)
@@ -265,9 +277,21 @@
         }
         if(AXIS2_TRUE == svc_found)
         {
-            axis2_char_t *localname = AXIS2_QNAME_GET_LOCALPART(svc_qname, env);
+            axis2_char_t *temp1 = NULL;
+            axis2_char_t *ns = NULL;
+            axis2_char_t *prefix = NULL;
+            axis2_char_t *localname = NULL;
+            axis2_qname_t *temp_svc_qname = NULL;
+            
+            temp1 = AXIS2_QNAME_GET_LOCALPART(svc_qname, env);
+            localname = axis2_strcat(env, "dii_", temp1, NULL);
+            ns = AXIS2_QNAME_GET_URI(svc_qname, env);
+            prefix = AXIS2_QNAME_GET_PREFIX(svc_qname, env); 
+            temp_svc_qname = axis2_qname_create(env, localname, ns, prefix);
             AXIS2_SVC_SET_NAME(axis2_svc, env, localname);
-            AXIS2_SVC_SET_QNAME(axis2_svc, env, svc_qname);
+            AXIS2_SVC_SET_QNAME(axis2_svc, env, temp_svc_qname);
+            AXIS2_FREE(env->allocator, localname);
+            AXIS2_QNAME_FREE(temp_svc_qname, env);
         }
         endpoints = WODEN_WSDL10_SVC_GET_ENDPOINTS(wsdl_svc, env);
         if(endpoints)

Modified: webservices/axis2/trunk/c/modules/core/description/svc.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/description/svc.c?rev=426444&r1=426443&r2=426444&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/svc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/svc.c Fri Jul 28 02:02:57 2006
@@ -30,6 +30,7 @@
     axis2_svc_t svc;
     axis2_svc_grp_t *parent;
     axis2_hash_t *wasaction_op_map;  
+    axis2_hash_t *op_alias_map;  
     axis2_char_t *axis_svc_name; 
     /** to keep the time that last update time of the service */
     long last_update;

Modified: webservices/axis2/trunk/c/modules/core/engine/addr_disp.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/engine/addr_disp.c?rev=426444&r1=426443&r2=426444&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/addr_disp.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/addr_disp.c Fri Jul 28 02:02:57 2006
@@ -187,7 +187,7 @@
         if (op)
             AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
                     "Operation found using WSA Action");
-        AXIS2_QNAME_FREE(qname, env);            
+        AXIS2_QNAME_FREE(qname, env);
     }
     
     return op;

Modified: webservices/axis2/trunk/c/modules/core/engine/disp.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/engine/disp.c?rev=426444&r1=426443&r2=426444&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/disp.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/disp.c Fri Jul 28 02:02:57 2006
@@ -212,25 +212,20 @@
         if (axis_service) 
         {
             AXIS2_MSG_CTX_SET_SVC(msg_ctx, env, axis_service);
-            /*TODO Chinthaka : set the Service Group Context to the message Context*/
+            /*TODO Set the Service Group Context to the message Context*/
         }
     }
-
-    axis_service = AXIS2_MSG_CTX_GET_SVC(msg_ctx, env);
-    if (axis_service)
+    op = AXIS2_MSG_CTX_GET_OP(msg_ctx, env);
+    if (!op)
     {
-        op = AXIS2_MSG_CTX_GET_OP(msg_ctx, env);
-        if (!op)
+        op = AXIS2_MSG_CTX_FIND_OP(msg_ctx, env, axis_service);
+        
+        if (op)
         {
-            op = AXIS2_MSG_CTX_FIND_OP(msg_ctx, env, axis_service);
-            
-            if (op)
-            {
-                AXIS2_MSG_CTX_SET_OP(msg_ctx, env, op);
-            }
+            AXIS2_MSG_CTX_SET_OP(msg_ctx, env, op);
         }
     }
-    
+
     return AXIS2_SUCCESS;
 }
 

Modified: webservices/axis2/trunk/c/samples/client/dynamic_client/calc_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/client/dynamic_client/calc_client.c?rev=426444&r1=426443&r2=426444&view=diff
==============================================================================
--- webservices/axis2/trunk/c/samples/client/dynamic_client/calc_client.c (original)
+++ webservices/axis2/trunk/c/samples/client/dynamic_client/calc_client.c Fri Jul 28 02:02:57 2006
@@ -133,11 +133,11 @@
     attr = axiom_attribute_create(env, "type", "xsd:int", ns1);
     attr_name_arg0 = axiom_attribute_create(env, "name", "arg_0_0", ns1);
     attr_name_arg1 = axiom_attribute_create(env, "name", "arg_1_0", ns1);
-    arg0_om_ele = axiom_element_create(env, seq_om_node, "arg_0_0", ns1, &arg0_om_node);
+    arg0_om_ele = axiom_element_create(env, seq_om_node, "arg_0_0", NULL, &arg0_om_node);
     AXIOM_ELEMENT_SET_TEXT(arg0_om_ele, env, "5", arg0_om_node);
     AXIOM_ELEMENT_ADD_ATTRIBUTE(arg0_om_ele, env, attr, arg0_om_node);
     AXIOM_ELEMENT_ADD_ATTRIBUTE(arg0_om_ele, env, attr_name_arg0, arg0_om_node);
-    arg1_om_ele = axiom_element_create(env, seq_om_node, "arg_1_0", ns1, &arg1_om_node);
+    arg1_om_ele = axiom_element_create(env, seq_om_node, "arg_1_0", NULL, &arg1_om_node);
     AXIOM_ELEMENT_SET_TEXT(arg1_om_ele, env, "10", arg1_om_node);
     AXIOM_ELEMENT_ADD_ATTRIBUTE(arg1_om_ele, env, attr_name_arg1, arg1_om_node);
     AXIOM_ELEMENT_ADD_ATTRIBUTE(arg1_om_ele, env, attr, arg1_om_node);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org