axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Zhao <>
Subject RE: Novice questions regarding Axis2C client development.
Date Sat, 03 May 2008 02:48:06 GMT

More specifically, I got stuck with the request/response call, with code snippet as the follows
(with little renaming):
adb_isOkResponse_t* axis2_stub_op_system_isOk( axis2_stub_t *stub, const axutil_env_t *env,
adb_isOk_t* _isOk)
... ...
soap_action = axis2_options_get_action( options, env );
if (NULL == soap_action)
is_soap_act_set = AXIS2_FALSE;
soap_action = "\"\"";

soap_act = axutil_string_create(env, "\"\"");
axis2_options_set_soap_action(options, env, soap_act); 

axis2_options_set_action( options, env, soap_action );

axis2_options_set_soap_version(options, env, AXIOM_SOAP12 );    // or with AXIOM_SOAP11

ret_node = axis2_svc_client_send_receive_with_op_qname( svc_client, env, op_qname, payload);

if (!is_soap_act_set)

axis2_options_set_soap_action(options, env, NULL); 

axis2_options_set_action( options, env, NULL);

if ( NULL == ret_node )
return NULL;                                    // it always goes here
... ...
The return node, or ret_node, in this case is always "NULL", while all input params are okay
with op_qname being empty.
Could someone tell me what could be the possible causes of the failed response at this point,
assuming the service side up and running properly?
Thanks again,

From: zhaomike@hotmail.comTo: axis-c-dev@ws.apache.orgSubject: RE: Novice questions regarding
Axis2C client development.Date: Sat, 3 May 2008 00:43:07 +0000

It's excellent advice/guidance, Bill! Yeah. The source code/files generated thru the WSDL
looked overwhelming initially from the complex services I need to handle. However, by looking
into the code more closely, it seemed that I'd just need to start with the pair axis2_stub_xxx.c/.h
files with each service.   In my case, I'd have to serialize/deserialize each function call,
which would have up to 6~7 parameters. Didn't quite understand these params and the creation
and use of them. Could someone share a piece of sample code that demonstrates a request/response
scenario, with the request serialized while response deserialized? I looked into the provided
Axis2c sample but couldn't find anything close.  Thanks again and have a great weekend, Mike

From: bmitchell@austin.rr.comTo: axis-c-dev@ws.apache.orgSubject: RE: Novice questions regarding
Axis2C client development.Date: Fri, 2 May 2008 17:12:43 -0500

Mike, I am accessing a web service where the service side is accessed through Java just fine
from a C++ application using Axis2C.  If the WSDL is defined, you can use the WSDL2C tool
to generate C stub wrappers that represent the information from the WSDL and make the use
of the Axis2C client interfaces easier.  Obviously on the conversion to the SOAP messages,
Axis2C takes care of converting the C data to SOAP character format on the client-side, and
the Java SOAP interface code on the service side handles the conversion between SOAP and Java
types.  So if there is a WSDL for the service and the service is thus accessible through SOAP,
you should only need to worry about the client side.  
When I started my development, then, I chose one of the simplest methods in my WSDL to invoke
and worked out the issues accessing it, then expanded my client code to use the other interfaces.
 This gives you the chance to learn how to use the methods in the generated stub wrappers
to access one service, then incrementally expand to implement the full application.  Once
you have worked through the details to make the client application find and link to the Axis2C
DLLs and related libraries, and find the Axis2C repo directory on the client, accessing the
services after the first becomes fairly straightforward.
Good luck,
Bill Mitchell

From: Mike Zhao [] Sent: Friday, May 02, 2008 4:44 PMTo: Apache
AXIS C Developers ListSubject: RE: Novice questions regarding Axis2C client development.
Thank you for the concise and definite answer! Then came to the implementation. Does the server
side have to do something extra, besides providing a service WSDL, for the Axis2C based client
to invoke its functions? I mean has to the service side provide a particular wrapper around
itself, in order for the client to interface to it? If not necessarily, then how could client
talk to the service since it's implemented in Java? Any suggestions and advice will be appreciated!
Mike    > Date: Sat, 3 May 2008 00:00:25 +0530> From:> To:>
Subject: Re: Novice questions regarding Axis2C client development.> > Mike Zhao wrote:>
> Hi There,> > > > I'm trying to use Axis2C to develop a SOAP client that would
> > need interface with the Apache CXF based web services. These > > services
were largely implemented in Java, though the client needs to > > be in C++.> >
> > The first question I have is how feasible this could be? Or simply, > > would
this be possible, and if it'd, what could be the impact to the > > performance due to
the message/method conversions between two language > > implementations.> > Yes,
it is possible.> > > > > Assuming this scenario would be feasible, then technically,
my guess > > was I'd need to create a C/C++ wrapper/skeleton around the services, >
> which would interface with/invoke the functions of interest.> > > > Yes.>
> Samisa...> > > --------------------------------------------------------------------->
To unsubscribe, e-mail:> For additional commands,

Windows Live SkyDrive lets you share files with faraway friends. Start sharing.

Windows Live SkyDrive lets you share files with faraway friends. Start sharing. 
Back to work after baby–how do you know when you’re ready?
View raw message