Hello,

I am attempting to use the dynamic_client example bundled with axis2c and have encountered a problem I hope you can shed some light on. But first the particulars.

I am using:
axis2c v0.96 win binaries
WinXP Pro as the dev platform
MS Visual C++ 6.0

A bit of History:
I couple of weeks ago I was using the AxisC++ 1.5 and 1.6b framework (win binaries) to develop a prototype C client. One of the requirements was dynamic invocation which that framework didn't support, among other issues. I found the WSIF project but it was written in Java. So after Googling for a bit I discovered the Axis2C Framework and noted that not only is it written in C, but it supported dynamic invocation. Perfect as all of my company's products are written in C. The demo I'm trying to create makes 2 web service calls. The first to retrieve a login token from Atlassion's Jira test project, and the second to submit an issue to the test project using the retrieved token.

The Installation:
I didn't have any trouble with the installation and was able to run all of the samples using the axis2_http_server.exe application.

The Problem:
I modified the dynamic_client example to take all of the arguments related to dynamic invocation (WSDL file, namespace, service URL, operation, operation parameters, etc) from the command line and tested it using the Calculator example and it worked. By this time I've figured out how the API docs are organized and I have a basic understanding of how the framework works.

When I changed the command line arguments to point to a service that was not local to my environment I started getting errors when the service client was being created. I tried a couple of different things but got the same result. I figured out how to use the macros to print the variable as strings to check the args to the function and things look OK to me but I'm sure I'm missing something. Here's what I'm passing in along with their values:

axis2_svc_client_create_for_dynamic_invocation(
env,                      //the usual pointer to an environment variable
config_stx, //In the example this is NULL, but the docs said it should be a pointer to a configuration struct...so I created one, although it's empty wsdl_uri, //The URI to the WSDL file which, based on the output of AXIS2_URI_TO_STRING, WSDL URI is: C:\axis2c\bin\samples\resources\jirasoapservice-v2.wsdl wsdl_svc_qname //The service qname which, based on the output of AXIS2_QNAME_TO_STRING, QNAME is: JiraSoapServiceService|http://jira.atlassian.com/rpc/soap/jirasoapservice-v2
progParams->ws_name //The web service name: "JiraSoapServiceService"
client_home          //The axis2c deploy location "C:\axis2c"
);

Note for wsdl_uri: I had switched to a local WSDL URI in the hopes that is was something related to a remote service but I got the same result regardless. The remote WSDL URI was: http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl

The return from the function is, unfortunately, NULL (0x00000000). Sometimes it goes into the error block and sometimes it results in an unhandled exception in the AXIS_ENGINE.DLL: 0x00000005: Access Violation (sometimes I can fix this error by rebooting...I love Windows :-( ). I have tried the original example again and it still works.

Any help would be greatly appreciated (let me know if you need additional information).

Thanks,

Cliff

--
Clifford Audinet
Software Architect

Stonebranch, Inc.
950 North Point Parkway
Suite 200
Alpharetta, Ga 30005
(678) 366-7887 X316
http://www.stonebranch.com
mailto:[EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to