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