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.