You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by "Cid, Jose" <Jo...@avocent.com> on 2005/02/19 02:21:44 UTC

Access Violation in Call-->invoke() method

Hello again,
 
I have installed axis c++ 1.5 and axis java server 1_2RC2 under tomcat
4.1.30.
 
I have the following wsdl file:
 
<?xml version="1.0" encoding="UTF-8"?>

<definitions name="urn:simpleTest" targetNamespace="urn:simpleTest"

xmlns:tns="urn:simpleTest"

xmlns:typens="urn:simpleTest"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:impl="urn:simpleTest"

xmlns="http://schemas.xmlsoap.org/wsdl/">

<!-- Type Declarations -->

<!-- Message Declarations -->

<message name="authenticateUserRequest">

<part name="userName" type="xsd:string"/>

<part name="userPassword" type="xsd:string"/>

</message>

<message name="authenticateUserResponse">

<part name="authenticateReturn" type="xsd:string"/>

</message>

<!-- Port Type Declarations -->

<portType name="SimpleTestPortTypes">

<operation name="authenticateUser" parameterOrder="userName
userPassword">

<input message="tns:authenticateUserRequest"/>

<output message="tns:authenticateUserResponse"/>

</operation>

</portType>

<!-- Binding Declarations -->

<binding name="SimpleTestSoapBinding" type="tns:SimpleTestPortTypes">

<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>

<operation name="authenticateUser">

<soap:operation soapAction="SimpleTestPortTypes#authenticateUser"/>

<input name="authenticateUserRequest">

<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="urn:simpleTest"

use="encoded"/>

</input>

<output name="authenticateUserResponse">

<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 

namespace="urn:SonicAdminWS"

use="encoded"/>

</output>

</operation>

</binding> 

<!-- Service Declaration -->

<service name="SimpleTestService">

<port binding="tns:SimpleTestSoapBinding" name="SimpleTestPortTypes">

<soap:address
location="http://sun-josecid:8080/axis/services/SimpleTestPortTypes"/>

</port>

</service>

</definitions>

 

Have deployed the server side and created client side stubs in c++. My
client code is simple and the relevant part looks as follow:

  SimpleTestPortTypes sa( endpoint, APTHTTP1_0 );

  szReturn = sa.authenticateUser( "jose", "bogus");


When the service, authenticateUser(...), is called as above the code
generates an access violation. This happens during the invoke method of
the client stub impl:

 

  if (AXIS_SUCCESS == m_pCall->invoke())   <---  Fails during this call
  {
   if(AXIS_SUCCESS == m_pCall->checkMessage("authenticateUserResponse",
"urn:simpleTest"))
   {
    Ret = m_pCall->getElementAsString("authenticateReturn", 0);
   }
  }
 m_pCall->unInitialize();
  return Ret;


When the service method is called with empty strings as parameters, ie.
authenticateUser( "", "" ), the call succeeds. I had the SoapMonitor
applet running to see if the request is being made and response. Does
any one have any idea what could be going on here? Am I missing some
files, configuration, etc.. 

Any help is appreciated

Thanks,

jose