axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Franklin, Allen" <Allen.Frank...@concerto.com>
Subject C++ client cannot access a Java String type method return value.
Date Fri, 10 Dec 2004 23:01:10 GMT

I am unable to retrieve a String data type as a return value of a SOAP method.
I always get a value of zero for the pointer to the character string.
The server-side is Java, using axis version 1.2beta3 (it's java from JBuilder2005).
My client is C++ axis version 1.3.

Using the java int data type as a return type for my SOAP method works ok.
Any insight into what might be causing the problem would be greatly appreciated.

Below is the xml result or calling my method.
The name of my SOAP method is GetEventInfo().
You can see the data in the xml, it's, "hey you".

HTTP/1.1 200 OK Set-Cookie: JSESSIONID=507EB967C8D8FCAA921E54801FF2B035; Path=/ConcertoSipService
Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Fri, 10 Dec 2004 22:29:03
GMT Server: Apache-Coyote/1.1  204 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ns1:GetEventInfoResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://sipserver.concerto.com">
         <GetEventInfoReturn xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">hey
you</GetEventInfoReturn>
      </ns1:GetEventInfoResponse>
   </soapenv:Body></soapenv:Envelope>
0

Below is the wsdl for my server. Sorry that it is so long, but I thought it might be of use.

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://sipserver.concerto.com" xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://sipserver.concerto.com" xmlns:intf="http://sipserver.concerto.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns1="http://portalcommon.concerto.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.2beta3
Built on Aug 01, 2004 (05:59:22 PDT)-->
 <wsdl:types>
  <schema targetNamespace="http://portalcommon.concerto.com" xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="http://sipserver.concerto.com"/>
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="ConcertoFault">
    <sequence>
     <element name="concertoFaultCode" type="xsd:int"/>
     <element name="concertoFaultString" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
  </schema>
  <schema targetNamespace="http://sipserver.concerto.com" xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="http://portalcommon.concerto.com"/>
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="SipServerException">
    <complexContent>
     <extension base="tns1:ConcertoFault">
      <sequence/>
     </extension>
    </complexContent>
   </complexType>
  </schema>
 </wsdl:types>

   <wsdl:message name="CANCELResponse">

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

   </wsdl:message>

   <wsdl:message name="EndCallRequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

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

   </wsdl:message>

   <wsdl:message name="CANCELRequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

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

   </wsdl:message>

   <wsdl:message name="BYEResponse">

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

   </wsdl:message>

   <wsdl:message name="ProxyAuthResponse">

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

   </wsdl:message>

   <wsdl:message name="GetEventInfoResponse">

      <wsdl:part name="GetEventInfoReturn" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="DisableInboundRequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="EndCallResponse">

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

   </wsdl:message>

   <wsdl:message name="ConfigAddToTemplateResponse">

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

   </wsdl:message>

   <wsdl:message name="RejectCallRequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

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

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

   </wsdl:message>

   <wsdl:message name="INVITEResponse">

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

   </wsdl:message>

   <wsdl:message name="INVITERequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

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

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

      <wsdl:part name="dest" type="xsd:string"/>

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

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

   </wsdl:message>

   <wsdl:message name="DisableInboundResponse">

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

   </wsdl:message>

   <wsdl:message name="ProxyAuthRequest">

      <wsdl:part name="user" type="xsd:string"/>

      <wsdl:part name="pwd" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="ConfigAddToTemplateRequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

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

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

      <wsdl:part name="value" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="AnswerCallRequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

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

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

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

   </wsdl:message>

   <wsdl:message name="SipServerException">

      <wsdl:part name="fault" type="impl:SipServerException"/>

   </wsdl:message>

   <wsdl:message name="BYERequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

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

   </wsdl:message>

   <wsdl:message name="RejectCallResponse">

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

   </wsdl:message>

   <wsdl:message name="EnableInboundRequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="EndSessionResponse">

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

   </wsdl:message>

   <wsdl:message name="EnableInboundResponse">

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

   </wsdl:message>

   <wsdl:message name="EndSessionRequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="AnswerCallResponse">

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

   </wsdl:message>

   <wsdl:message name="GetEventInfoRequest">

      <wsdl:part name="sessionId" type="xsd:string"/>

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

   </wsdl:message>

   <wsdl:portType name="ISipServer">

      <wsdl:operation name="ConfigAddToTemplate" parameterOrder="sessionId templateId name
value">

         <wsdl:input message="impl:ConfigAddToTemplateRequest" name="ConfigAddToTemplateRequest"/>

         <wsdl:output message="impl:ConfigAddToTemplateResponse" name="ConfigAddToTemplateResponse"/>

         <wsdl:fault message="impl:SipServerException" name="SipServerException"/>

      </wsdl:operation>

      <wsdl:operation name="INVITE" parameterOrder="sessionId eventhandle callId dest rxRTPport
templateId">

         <wsdl:input message="impl:INVITERequest" name="INVITERequest"/>

         <wsdl:output message="impl:INVITEResponse" name="INVITEResponse"/>

         <wsdl:fault message="impl:SipServerException" name="SipServerException"/>

      </wsdl:operation>

      <wsdl:operation name="CANCEL" parameterOrder="sessionId eventhandle">

         <wsdl:input message="impl:CANCELRequest" name="CANCELRequest"/>

         <wsdl:output message="impl:CANCELResponse" name="CANCELResponse"/>

         <wsdl:fault message="impl:SipServerException" name="SipServerException"/>

      </wsdl:operation>

      <wsdl:operation name="BYE" parameterOrder="sessionId eventhandle">

         <wsdl:input message="impl:BYERequest" name="BYERequest"/>

         <wsdl:output message="impl:BYEResponse" name="BYEResponse"/>

         <wsdl:fault message="impl:SipServerException" name="SipServerException"/>

      </wsdl:operation>

      <wsdl:operation name="EndCall" parameterOrder="sessionId eventhandle">

         <wsdl:input message="impl:EndCallRequest" name="EndCallRequest"/>

         <wsdl:output message="impl:EndCallResponse" name="EndCallResponse"/>

      </wsdl:operation>

      <wsdl:operation name="GetEventInfo" parameterOrder="sessionId timeout">

         <wsdl:input message="impl:GetEventInfoRequest" name="GetEventInfoRequest"/>

         <wsdl:output message="impl:GetEventInfoResponse" name="GetEventInfoResponse"/>

      </wsdl:operation>

      <wsdl:operation name="DisableInbound" parameterOrder="sessionId">

         <wsdl:input message="impl:DisableInboundRequest" name="DisableInboundRequest"/>

         <wsdl:output message="impl:DisableInboundResponse" name="DisableInboundResponse"/>

      </wsdl:operation>

      <wsdl:operation name="EnableInbound" parameterOrder="sessionId">

         <wsdl:input message="impl:EnableInboundRequest" name="EnableInboundRequest"/>

         <wsdl:output message="impl:EnableInboundResponse" name="EnableInboundResponse"/>

      </wsdl:operation>

      <wsdl:operation name="AnswerCall" parameterOrder="sessionId eventhandle RTPport templateId">

         <wsdl:input message="impl:AnswerCallRequest" name="AnswerCallRequest"/>

         <wsdl:output message="impl:AnswerCallResponse" name="AnswerCallResponse"/>

      </wsdl:operation>

      <wsdl:operation name="RejectCall" parameterOrder="sessionId eventhandle failReason">

         <wsdl:input message="impl:RejectCallRequest" name="RejectCallRequest"/>

         <wsdl:output message="impl:RejectCallResponse" name="RejectCallResponse"/>

      </wsdl:operation>

      <wsdl:operation name="ProxyAuth" parameterOrder="user pwd">

         <wsdl:input message="impl:ProxyAuthRequest" name="ProxyAuthRequest"/>

         <wsdl:output message="impl:ProxyAuthResponse" name="ProxyAuthResponse"/>

      </wsdl:operation>

      <wsdl:operation name="EndSession" parameterOrder="sessionId">

         <wsdl:input message="impl:EndSessionRequest" name="EndSessionRequest"/>

         <wsdl:output message="impl:EndSessionResponse" name="EndSessionResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="ISipServerSoapBinding" type="impl:ISipServer">

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

      <wsdl:operation name="ConfigAddToTemplate">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="ConfigAddToTemplateRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="ConfigAddToTemplateResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

         <wsdl:fault name="SipServerException">

            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="SipServerException"
namespace="http://sipserver.concerto.com" use="encoded"/>

         </wsdl:fault>

      </wsdl:operation>

      <wsdl:operation name="INVITE">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="INVITERequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="INVITEResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

         <wsdl:fault name="SipServerException">

            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="SipServerException"
namespace="http://sipserver.concerto.com" use="encoded"/>

         </wsdl:fault>

      </wsdl:operation>

      <wsdl:operation name="CANCEL">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="CANCELRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="CANCELResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

         <wsdl:fault name="SipServerException">

            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="SipServerException"
namespace="http://sipserver.concerto.com" use="encoded"/>

         </wsdl:fault>

      </wsdl:operation>

      <wsdl:operation name="BYE">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="BYERequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="BYEResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

         <wsdl:fault name="SipServerException">

            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="SipServerException"
namespace="http://sipserver.concerto.com" use="encoded"/>

         </wsdl:fault>

      </wsdl:operation>

      <wsdl:operation name="EndCall">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="EndCallRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="EndCallResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="GetEventInfo">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="GetEventInfoRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="GetEventInfoResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="DisableInbound">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="DisableInboundRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="DisableInboundResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="EnableInbound">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="EnableInboundRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="EnableInboundResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="AnswerCall">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="AnswerCallRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="AnswerCallResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="RejectCall">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="RejectCallRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="RejectCallResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="ProxyAuth">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="ProxyAuthRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="ProxyAuthResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="EndSession">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="EndSessionRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:input>

         <wsdl:output name="EndSessionResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://sipserver.concerto.com"
use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="ISipServerService">

      <wsdl:port binding="impl:ISipServerSoapBinding" name="ISipServer">

         <wsdlsoap:address location="http://localhost:8080/ConcertoSipService/services/ISipServer"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>





Mime
View raw message