I have a problem with an Axis web service consumed by VC++ using MS SOAP Toolkit.

I am trying to call the Calculator web service from a c++ client using the SoapClient 
object from the MS toolkit.
What happens is that I don't get the result (there is no errors in the process).

When I ran the java client example that comes with Axis it went smoothly so I know the 
web service is working properly.
I've also implemented the same web service using the MS toolkit and the c++ client 
worked fine with it. 

When I looked into both WSDL files I noticed that the MS file uses this line:

<part name="Result" type="xsd:int" /> 

And the Axis file uses this corresponding line:

<wsdl:part name="return" type="xsd:int" /> 

I tested what happens when I change the MS file 'Result' to 'return'. When I consumed 
the MS web service using my client I got the same behavior - no result!

Logic tells me that if I do the opposite to the Axis WSDL it will work. The problem is 
that I don't know how to do it since I use this URL: 
http://localhost:8080/axis/Calculator.jws?wsdl and the WSDL is generated on the fly.

Now, my question is how can I solve this 'cross platform' issue? Is there a way to 
tell either side how to comply with the other?

Reply via email to