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 "Franklin, Allen" <Al...@concerto.com> on 2005/02/11 01:51:42 UTC

RE: Returning Complex Object which contains an array is always null

I hope you will remember my earlier email,
I've been quite busy, that explains the one month delay in my response.

To recap, my problem is that my axis C++ client cannot access String type method return values from a Java server.
The xsd__string return value in my client code is always null.

My server's response for a call to a method that returns the string "hey what gives?" follows:

HTTP/1.1 200 OK Set-Cookie: JSESSIONID=C8D71709629B1A88D1E2A43C1C3A737C; Path=/ConcertoSipService Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Fri, 11 Feb 2005 00:06:24 GMT Server: Apache-Coyote/1.1  20c <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 what gives?</GetEventInfoReturn>
      </ns1:GetEventInfoResponse>
   </soapenv:Body></soapenv:Envelope>
0

Any insight into my problem would be greatly appreciated.

-----Original Message-----
From: Samisa Abeysinghe [mailto:samisa.abeysinghe@gmail.com]
Sent: Tuesday, January 11, 2005 11:23 PM
To: Apache AXIS C User List
Subject: Re: Returning Complex Object which contains an array is always
null


Could this problem be due to the use of href/multiref by server side response?

Or does this happen in the absance of href/multiref?

If you could send the response sent by service, we could clarify the
problem further.

Thanks,
Samisa...


On Tue, 11 Jan 2005 14:40:50 -0500, Franklin, Allen
<Al...@concerto.com> wrote:
> Here are the things I tried:
>  
> 1) C++ clients cannot access a Java String type, either as method return
> value,
> or in a complex data type method return value. The client can access int
> values in a complex type.
> 2) C++ clients cannot access an array of chars, either as method return
> value, or in a complex data type method return value
> because wsdl2Ws fails (cannot generate client code).
>  
> -----Original Message-----
> From: Jairam, Roopnaraine [mailto:Roopnaraine.Jairam@ca.com]
> Sent: Tuesday, January 11, 2005 2:28 PM
> To: Apache AXIS C User List
> Subject: RE: Returning Complex Object which contains an array is always null
> 
> 
> 
> Are you also trying to return a complex object which contains an array
> object?
> 
>  
> ________________________________
> 
> 
> From: Franklin, Allen [mailto:Allen.Franklin@concerto.com] 
> Sent: Tuesday, January 11, 2005 1:05 PM
> To: Apache AXIS C User List
> Subject: RE: Returning Complex Object which contains an array is always null
> 
>  
> 
> 
> I have a similar problem with arrays.
> 
> I am also unable to retrieve a String data type as a return value of a SOAP
> method.
> 
> The server-side is Java, using axis version 1.2beta3 (it's java from
> JBuilder2005).
> 
> My client is C++ axis version 1.3, running on Linux.
> 
> I posted the string problem to the news group a couple of times but nobody
> responded...
> 
> 
> -----Original Message-----
> From: Jairam, Roopnaraine [mailto:Roopnaraine.Jairam@ca.com]
> Sent: Tuesday, January 11, 2005 12:19 PM
> To: Apache AXIS C User List
> Cc: axis-c-dev-help@ws.apache.org
> Subject: Returning Complex Object which contains an array is always null
> 
> My web service is Axis Java 1.2RC2 and the client code is Axis-c-1-4-win32
> when the web service returns a complex object which contains an array. The
> service is always returning NULL.
> 
>  
> 
> My wsdl is below
> 
> 
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <wsdl:definitions targetNamespace="urn:ca"
> xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="urn:ca"
> xmlns:intf="urn:ca"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:tns2="http://objects.ca" 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.2RC2
> 
> Built on Nov 16, 2004 (12:19:44 EST)-->
> 
>  <wsdl:types>
> 
>   <schema targetNamespace="http://objects.ca"
> xmlns="http://www.w3.org/2001/XMLSchema">
> 
>    <import namespace="urn:ca"/>
> 
>    <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
> 
>    <complexType name="ClientTableRecord">
> 
>     <sequence>
> 
>      <element name="address1" nillable="true" type="xsd:string"/>
> 
>      <element name="address2" nillable="true" type="xsd:string"/>
> 
>      <element name="city" nillable="true" type="xsd:string"/>
> 
>      <element name="clientID" nillable="true" type="xsd:string"/>
> 
>      <element name="country" nillable="true" type="xsd:string"/>
> 
>      <element name="email" nillable="true" type="xsd:string"/>
> 
>      <element name="firstName" nillable="true" type="xsd:string"/>
> 
>      <element name="lastName" nillable="true" type="xsd:string"/>
> 
>      <element name="passwordHash" nillable="true" type="xsd:string"/>
> 
>      <element name="passwordRemember" nillable="true" type="xsd:string"/>
> 
>      <element name="phoneNumber" nillable="true" type="xsd:string"/>
> 
>      <element name="state" nillable="true" type="xsd:string"/>
> 
>      <element name="zip1" nillable="true" type="xsd:string"/>
> 
>      <element name="zip2" nillable="true" type="xsd:string"/>
> 
>     </sequence>
> 
>    </complexType>
> 
>    <complexType name="KeyTableRecord">
> 
>     <sequence>
> 
>      <element name="componentCode" type="xsd:int"/>
> 
>      <element name="key" nillable="true" type="xsd:string"/>
> 
>      <element name="startDate" nillable="true" type="xsd:dateTime"/>
> 
>     </sequence>
> 
>    </complexType>
> 
>   </schema>
> 
>   <schema targetNamespace="urn:ca" xmlns="http://www.w3.org/2001/XMLSchema">
> 
>    <import namespace="http://objects.ca"/>
> 
>    <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
> 
>    <complexType name="RegistrationResults">
> 
>     <sequence>
> 
>      <element name="clientID" nillable="true" type="xsd:string"/>
> 
>      <element name="key" nillable="true" type="xsd:string"/>
> 
>      <element name="status" type="xsd:int"/>
> 
>     </sequence>
> 
>    </complexType>
> 
>    <complexType name="ArrayOf_tns2_KeyTableRecord">
> 
>     <complexContent>
> 
>      <restriction base="soapenc:Array">
> 
>       <attribute ref="soapenc:arrayType"
> wsdl:arrayType="tns2:KeyTableRecord[]"/>
> 
>      </restriction>
> 
>     </complexContent>
> 
>    </complexType>
> 
>    <complexType name="VerificationResults">
> 
>     <sequence>
> 
>      <element name="dayCheck" type="xsd:int"/>
> 
>      <element name="days" type="xsd:int"/>
> 
>      <element name="keyTblRecs" nillable="true"
> type="impl:ArrayOf_tns2_KeyTableRecord"/>
> 
>      <element name="status" type="xsd:int"/>
> 
>      <element name="violationCode" type="xsd:int"/>
> 
>     </sequence>
> 
>    </complexType>
> 
>   </schema>
> 
>  </wsdl:types>
> 
>  
> 
>    <wsdl:message name="registerLicenseRequest">
> 
>  
> 
>       <wsdl:part name="in0" type="tns2:ClientTableRecord"/>
> 
>  
> 
>       <wsdl:part name="in1" type="tns2:KeyTableRecord"/>
> 
>  
> 
>    </wsdl:message>
> 
>  
> 
>    <wsdl:message name="verifyLicenseRequest">
> 
>  
> 
>       <wsdl:part name="in0" type="xsd:string"/>
> 
>  
> 
>       <wsdl:part name="in1" type="xsd:int"/>
> 
>  
> 
>       <wsdl:part name="in2" type="impl:ArrayOf_tns2_KeyTableRecord"/>
> 
>  
> 
>    </wsdl:message>
> 
>  
> 
>    <wsdl:message name="verifyLicenseResponse">
> 
>  
> 
>       <wsdl:part name="verifyLicenseReturn"
> type="impl:VerificationResults"/>
> 
>  
> 
>    </wsdl:message>
> 
>  
> 
>    <wsdl:message name="registerLicenseResponse">
> 
>  
> 
>       <wsdl:part name="registerLicenseReturn"
> type="impl:RegistrationResults"/>
> 
>  
> 
>    </wsdl:message>
> 
>  
> 
>    <wsdl:portType name="LicenseSystem">
> 
>  
> 
>       <wsdl:operation name="registerLicense" parameterOrder="in0 in1">
> 
>  
> 
>          <wsdl:input message="impl:registerLicenseRequest"
> name="registerLicenseRequest"/>
> 
>  
> 
>          <wsdl:output message="impl:registerLicenseResponse"
> name="registerLicenseResponse"/>
> 
>  
> 
>       </wsdl:operation>
> 
>  
> 
>       <wsdl:operation name="verifyLicense" parameterOrder="in0 in1 in2">
> 
>  
> 
>          <wsdl:input message="impl:verifyLicenseRequest"
> name="verifyLicenseRequest"/>
> 
>  
> 
>          <wsdl:output message="impl:verifyLicenseResponse"
> name="verifyLicenseResponse"/>
> 
>  
> 
>       </wsdl:operation>
> 
>  
> 
>    </wsdl:portType>
> 
>  
> 
>    <wsdl:binding name="LicenseSystemSoapBinding" type="impl:LicenseSystem">
> 
>  
> 
>       <wsdlsoap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> 
>  
> 
>       <wsdl:operation name="registerLicense">
> 
>  
> 
>          <wsdlsoap:operation soapAction=""/>
> 
>  
> 
>          <wsdl:input name="registerLicenseRequest">
> 
>  
> 
>             <wsdlsoap:body
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ca"
> use="encoded"/>
> 
>  
> 
>          </wsdl:input>
> 
>  
> 
>          <wsdl:output name="registerLicenseResponse">
> 
>  
> 
>             <wsdlsoap:body
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ca"
> use="encoded"/>
> 
>  
> 
>          </wsdl:output>
> 
>  
> 
>       </wsdl:operation>
> 
>  
> 
>       <wsdl:operation name="verifyLicense">
> 
>  
> 
>          <wsdlsoap:operation soapAction=""/>
> 
>  
> 
>          <wsdl:input name="verifyLicenseRequest">
> 
>  
> 
>             <wsdlsoap:body
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ca"
> use="encoded"/>
> 
>  
> 
>          </wsdl:input>
> 
>  
> 
>          <wsdl:output name="verifyLicenseResponse">
> 
>  
> 
>             <wsdlsoap:body
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ca"
> use="encoded"/>
> 
>  
> 
>          </wsdl:output>
> 
>  
> 
>       </wsdl:operation>
> 
>  
> 
>    </wsdl:binding>
> 
>  
> 
>    <wsdl:service name="LicenseSystemService">
> 
>  
> 
>       <wsdl:port binding="impl:LicenseSystemSoapBinding"
> name="LicenseSystem">
> 
>  
> 
>          <wsdlsoap:address
> location="http://eav-rack7-bot3/axis/services/LicenseSystem"/>
> 
>  
> 
>       </wsdl:port>
> 
>  
> 
>    </wsdl:service>
> 
>  
> 
> </wsdl:definitions>
> 
>  
> 
> Is this a node bug and is there a solution or workaround.
> 
>  
> 
> Vince.