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/01/31 09:38:22 UTC
svn commit: r373760 - in /webservices/axis2/trunk/c:
deploy/client_repository/axis2.xml include/axis2_call.h
modules/core/clientapi/call.c modules/core/clientapi/stub.c
test/client/echo/Makefile.am test/client/echo/echo_client.c
Author: damitha
Date: Tue Jan 31 00:38:04 2006
New Revision: 373760
URL: http://svn.apache.org/viewcvs?rev=373760&view=rev
Log:
Fixing bugs while making request from stub client work
Modified:
webservices/axis2/trunk/c/deploy/client_repository/axis2.xml
webservices/axis2/trunk/c/include/axis2_call.h
webservices/axis2/trunk/c/modules/core/clientapi/call.c
webservices/axis2/trunk/c/modules/core/clientapi/stub.c
webservices/axis2/trunk/c/test/client/echo/Makefile.am
webservices/axis2/trunk/c/test/client/echo/echo_client.c
Modified: webservices/axis2/trunk/c/deploy/client_repository/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/deploy/client_repository/axis2.xml?rev=373760&r1=373759&r2=373760&view=diff
==============================================================================
--- webservices/axis2/trunk/c/deploy/client_repository/axis2.xml (original)
+++ webservices/axis2/trunk/c/deploy/client_repository/axis2.xml Tue Jan 31 00:38:04 2006
@@ -2,8 +2,163 @@
<!-- ================================================= -->
<!-- Parameters -->
<!-- ================================================= -->
+ <parameter name="hotdeployment" locked="false">false</parameter>
+ <parameter name="hotupdate" locked="false">false</parameter>
+ <parameter name="enableMTOM" locked="false">true</parameter>
+ <!-- Uncomment this to enable REST support -->
+ <!-- <parameter name="enableREST" locked="false">true</parameter>-->
+
+
<parameter name="userName" locked="false">admin</parameter>
<parameter name="password" locked="false">axis2</parameter>
+ <parameter name="seralizeLocation" locked="false">.</parameter>
+ <hostConfiguration>
+ <ip>127.0.0.1</ip>
+ <port>5555</port>
+ </hostConfiguration>
+
+
+ <!--if you want to extract the service archive file and work with that please uncomment this-->
+ <!--else , it wont extract archive file or does not take into consideration if someone drop-->
+ <!--exploded directory into /service directory-->
+ <!--<parameter name="extractServiceArchive" locked="false">true</parameter>-->
+
+
+ <!-- The way of adding listener to the system-->
+ <!-- <listener class="org.apache.axis2.ObserverIMPL">-->
+ <!-- <parameter name="RSS_URL" locked="false">http://127.0.0.1/rss</parameter>-->
+ <!-- </listener>-->
+
+ <!-- ================================================= -->
+ <!-- Message Receivers -->
+ <!-- ================================================= -->
+ <!-- This is the Deafult Message Receiver for the Request Response style Operations -->
+ <messageReceiver mep="INOUT" class="libaxis2_receivers.so"/>
+
+ <!-- ================================================= -->
+ <!-- Transport Ins -->
+ <!-- ================================================= -->
+ <transportReceiver name="http" class="libaxis2_http_receiver.so">
+ <parameter name="port" locked="false">6060</parameter>
+ </transportReceiver>
+
+ <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
+ <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">
+ <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>
+ <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>
+ <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>
+ <parameter name="transport.mail.pop3.port" locked="false">110</parameter>
+ <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>
+ </transportReceiver> -->
+
+ <!--
+ <transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPServer">
+ <parameter name="port" locked="false">6060</parameter>
+ </transportReceiver>
+ -->
+ <!-- ================================================= -->
+ <!-- Transport Outs -->
+ <!-- ================================================= -->
+
+ <!--
+ <transportSender name="tcp" class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
+ <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>
+ -->
+ <transportSender name="http" class="libaxis2_http_sender.so">
+ <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+ </transportSender>
+ <!--
+ <transportSender name="https"
+ class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+ <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+ </transportSender>
+ -->
+ <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
+ <transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
+ <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>
+ <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>
+ <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>
+ <parameter name="transport.mail.smtp.port" locked="false">25</parameter>
+ </transportSender>
+ -->
+
+ <!-- ================================================= -->
+ <!-- Global Modules -->
+ <!-- ================================================= -->
+ <!-- Comment this to disable Addressing -->
+ <!--<module ref="addressing"/>-->
+
+
+ <!--Configuring module , providing paramters for modules whether they refer or not-->
+ <!--<moduleConfig name="addressing">-->
+ <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->
+ <!--</moduleConfig>-->
+
+ <!-- ================================================= -->
+ <!-- Phases -->
+ <!-- ================================================= -->
+ <phaseOrder type="inflow">
+ <!-- System pre defined phases -->
+ <phase name="TransportIn"/>
+ <phase name="PreDispatch"/>
+ <phase name="Dispatch">
+ <handler name="AddressingBasedDispatcher"
+ class="axis2_engine.so">
+ <order phase="Dispatch"/>
+ </handler>
+ <handler name="RequestURIBasedDispatcher"
+ class="axis2_engine.so">
+ <order phase="Dispatch"/>
+ </handler>
+ <handler name="SOAPActionBasedDispatcher"
+ class="axis2_engine.so">
+ <order phase="Dispatch"/>
+ </handler>
+ <handler name="SOAPMessageBodyBasedDispatcher"
+ class="axis2_engine.so">
+ <order phase="Dispatch"/>
+ </handler>
+ </phase>
+ <phase name="PostDispatch">
+ <handler name="DispatchPostConditionsEvaluator"
+ class="axis2_engine.so">
+ <order phase="PostDispatch"/>
+ </handler>
+ <handler name="InstanceDispatcher"
+ class="axis2_engine.so">
+ <order phase="PostDispatch"/>
+ </handler>
+ <handler name="SOAPProcessingModelChecker"
+ class="axis2_engine.so">
+ <order phase="PostDispatch"/>
+ </handler>
+ </phase>
+ <!-- System pre defined phases -->
+ <!-- After Postdispatch phase module author or or service author can add any phase he want -->
+ <phase name="userphase1"/>
+ <phase name="RMPhase"/>
+ </phaseOrder>
+ <phaseOrder type="outflow">
+ <!-- user can add his own phases to this area -->
+ <phase name="RMPhase"/>
+ <phase name="userphase1"/>
+ <!--system predefined phase-->
+ <!--these phase will run irrespective of the service-->
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ </phaseOrder>
+ <phaseOrder type="INfaultflow">
+ <!-- user can add his own phases to this area -->
+ <phase name="userphase1"/>
+ <phase name="RMPhase"/>
+ </phaseOrder>
+ <phaseOrder type="Outfaultflow">
+ <!-- user can add his own phases to this area -->
+ <phase name="RMPhase"/>
+ <phase name="userphase1"/>
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ </phaseOrder>
</axisconfig>
Modified: webservices/axis2/trunk/c/include/axis2_call.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_call.h?rev=373760&r1=373759&r2=373760&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_call.h (original)
+++ webservices/axis2/trunk/c/include/axis2_call.h Tue Jan 31 00:38:04 2006
@@ -210,14 +210,10 @@
axis2_call_ops_t *ops;
};
-AXIS2_DECLARE(axis2_call_t*) axis2_call_create(axis2_env_t **env, axis2_svc_ctx_t *svc_ctx);
+AXIS2_DECLARE(axis2_call_t*) axis2_call_create(axis2_env_t **env,
+ axis2_svc_ctx_t *svc_ctx,
+ axis2_char_t *client_home);
-AXIS2_DECLARE(axis2_call_t*)
-axis2_call_create_with_svc_ctx_and_client_home(axis2_env_t **env,
- axis2_svc_ctx_t *svc_ctx,
- axis2_char_t *client_home);
-
-
/************************** Start of function macros **************************/
#define AXIS2_CALL_SET_TO(call, env, to) ((call)->ops->set_to(call, env, to))
Modified: webservices/axis2/trunk/c/modules/core/clientapi/call.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/clientapi/call.c?rev=373760&r1=373759&r2=373760&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/call.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/call.c Tue Jan 31 00:38:04 2006
@@ -164,7 +164,8 @@
/******************************************************************************/
axis2_call_t* AXIS2_CALL axis2_call_create(axis2_env_t **env,
- axis2_svc_ctx_t *svc_ctx)
+ axis2_svc_ctx_t *svc_ctx,
+ axis2_char_t *client_home)
{
axis2_call_impl_t *call_impl = NULL;
@@ -199,9 +200,11 @@
else
{
/*assume svc ctx */
+ call_impl->svc_ctx = axis2_call_assume_svc_ctx(&(call_impl->call), env,
+ client_home);
}
- call_impl->base = axis2_mep_client_create(env, svc_ctx, AXIS2_MEP_URI_OUT_IN);
+ call_impl->base = axis2_mep_client_create(env, call_impl->svc_ctx, AXIS2_MEP_URI_OUT_IN);
if (!(call_impl->base))
{
axis2_call_free(&(call_impl->call), env);
@@ -240,39 +243,6 @@
return &(call_impl->call);
}
-axis2_call_t* AXIS2_CALL
-axis2_call_create_with_svc_ctx_and_client_home(axis2_env_t **env,
- axis2_svc_ctx_t *svc_ctx,
- axis2_char_t *client_home)
-{
- axis2_call_impl_t *call_impl = NULL;
-
- AXIS2_ENV_CHECK(env, NULL);
- /*AXIS2_PARAM_CHECK((*env)->error, svc_ctx, NULL);*/
-
- call_impl = (axis2_call_impl_t *) axis2_call_create(env, NULL);
- if (!call_impl)
- {
- AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- return NULL;
- }
- call_impl->svc_ctx = NULL;
- if(svc_ctx)
- {
- call_impl->svc_ctx = svc_ctx;
- }
- else
- {
- /*assume svc ctx */
- call_impl->svc_ctx = axis2_call_assume_svc_ctx(&(call_impl->call), env,
- client_home);
- }
-
-
-
- return &(call_impl->call);
-}
-
/******************************************************************************/
axis2_status_t AXIS2_CALL axis2_call_free(struct axis2_call *call,
@@ -636,7 +606,11 @@
}
/* find and set the transport details */
- conf_ctx = AXIS2_SVC_CTX_GET_CONF_CTX(call_impl->svc_ctx, env);
+ if (call_impl->svc_ctx)
+ {
+ conf_ctx = AXIS2_SVC_CTX_GET_CONF_CTX(call_impl->svc_ctx, env);
+ }
+
if (conf_ctx)
{
conf = AXIS2_CONF_CTX_GET_CONF(conf_ctx, env);
@@ -708,6 +682,12 @@
call_impl->sender_transport = AXIS2_MEP_CLIENT_INFER_TRANSPORT(call_impl->base, env, call_impl->to);
}
+ if (!(call_impl->sender_transport))
+ {
+ /** TODO : set an error here */
+ return AXIS2_FAILURE;
+ }
+
if (!(call_impl->listener_transport))
{
axis2_conf_ctx_t *conf_ctx = AXIS2_SVC_CTX_GET_CONF_CTX(call_impl->svc_ctx, env);
@@ -1112,10 +1092,12 @@
axis2_array_list_t *remaining_phases = NULL;
op = axis2_op_create_with_qname(env, op_qname);
+ AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(op, env, AXIS2_MEP_URI_OUT_IN);
if(!op)
{
return AXIS2_FAILURE;
}
+ call_impl->op_template = op;
remaining_phases = AXIS2_OP_GET_REMAINING_PHASES_INFLOW(call_impl->
op_template, env);
AXIS2_OP_SET_REMAINING_PHASES_INFLOW(op, env, remaining_phases);
@@ -1239,6 +1221,7 @@
"TemplateOperation")); */
qtemp_op = axis2_qname_create(env, "TemplateOperation", NULL, NULL);
call_impl->op_template = axis2_op_create_with_qname(env, qtemp_op);
+ AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(call_impl->op_template, env, AXIS2_MEP_URI_OUT_IN);
AXIS2_QNAME_FREE(qtemp_op, env);
info = AXIS2_CONF_GET_PHASESINFO(conf, env);
/* to set the operation flows */
@@ -1251,8 +1234,8 @@
}
svc_grp = AXIS2_SVC_GET_PARENT(axis_svc, env);
svc_grp_ctx = AXIS2_SVC_GRP_GET_SVC_GRP_CTX(svc_grp, env, conf_ctx);
- assumed_svc_name = AXIS2_QNAME_GET_LOCALPART(assumed_svc_qname, env);
- AXIS2_QNAME_FREE(assumed_svc_qname, env);
+ assumed_svc_name = AXIS2_QNAME_GET_LOCALPART(assumed_svc_qname, env);
svc_ctx = AXIS2_SVC_GRP_CTX_GET_SVC_CTX(svc_grp_ctx, env, assumed_svc_name);
+ AXIS2_QNAME_FREE(assumed_svc_qname, env);
return svc_ctx;
}
Modified: webservices/axis2/trunk/c/modules/core/clientapi/stub.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/clientapi/stub.c?rev=373760&r1=373759&r2=373760&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/stub.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/stub.c Tue Jan 31 00:38:04 2006
@@ -274,7 +274,7 @@
return NULL;
}
/* create call without passing svc_ctx_t struct */
- stub_impl->call = axis2_call_create_with_svc_ctx_and_client_home(env, NULL,
+ stub_impl->call = axis2_call_create(env, NULL,
client_home);
if(!stub_impl->call)
Modified: webservices/axis2/trunk/c/test/client/echo/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/client/echo/Makefile.am?rev=373760&r1=373759&r2=373760&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/client/echo/Makefile.am (original)
+++ webservices/axis2/trunk/c/test/client/echo/Makefile.am Tue Jan 31 00:38:04 2006
@@ -18,6 +18,9 @@
-laxis2_core_util \
-laxis2_clientapi \
-laxis2_soap \
+ -laxis2_http_transport \
+ -laxis2_http_sender \
+ -laxis2_http_receiver \
-L$(GUTHTHILA_LIB) $(GUTHTHILA_LIBNAME) \
-L$(LIBXML2_LIB) $(LIBXML2_LIBNAME)
Modified: webservices/axis2/trunk/c/test/client/echo/echo_client.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/client/echo/echo_client.c?rev=373760&r1=373759&r2=373760&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/client/echo/echo_client.c (original)
+++ webservices/axis2/trunk/c/test/client/echo/echo_client.c Tue Jan 31 00:38:04 2006
@@ -34,7 +34,7 @@
axis2_error_t *error = NULL;
axis2_log_t *log = NULL;
axis2_allocator_t *allocator = NULL;
- axis2_endpoint_ref_t *epr = NULL;
+ /*axis2_endpoint_ref_t *epr = NULL; */
axis2_char_t *address = NULL;
axis2_char_t *client_home = NULL;
axis2_char_t *temp_path1 = NULL;
@@ -46,18 +46,19 @@
env = axis2_env_create_with_error_log(allocator, error, log);
env->log->level = AXIS2_LOG_LEVEL_INFO;
- temp_path1 = AXIS2_GETENV("AXIS2C_HOME");
+ client_home = AXIS2_GETENV("AXIS2C_HOME");
+ /*temp_path1 = AXIS2_GETENV("AXIS2C_HOME");
temp_path2 = AXIS2_STRACAT(temp_path1, AXIS2_PATH_SEP_STR, &env);
client_home = AXIS2_STRACAT(temp_path2, "client_repository", &env);
- AXIS2_FREE((env)->allocator, temp_path1);
+ AXIS2_FREE((env)->allocator, temp_path1);*/
AXIS2_FREE((env)->allocator, temp_path2);
envelope = build_soap_programatically(&env);
node = AXIS2_SOAP_ENVELOPE_GET_BASE_NODE(envelope, &env);
- address = "http://localhost:9090/echo";
- epr = axis2_endpoint_ref_create(&env, address);
+ address = "http://localhost:9090/axis2/services/echo/echo";
+ /*epr = axis2_endpoint_ref_create(&env, address);*/
stub =
- axis2_echo_stub_create_with_endpoint_ref_and_client_home(&env, epr,
+ axis2_stub_create_with_endpoint_uri_and_client_home(&env, address,
client_home);
AXIS2_STUB_SET_TRANSPORT_INFO(stub, &env, AXIS2_TRANSPORT_HTTP,
AXIS2_TRANSPORT_HTTP, AXIS2_FALSE);