Article View: borland.public.cppbuilder.webservices.soap
Article #82Re: Problem Deserializing Array Of Objects
From: Jair Karim Tinoco
Date: Sat, 05 May 2007 00:46
Date: Sat, 05 May 2007 00:46
223 lines
8765 bytes
8765 bytes
Hi Bruneau,
Don't worry for the elapsed time of your response, almost people in this
world are busy.
WSDL for this test is the next:
<definitions name='PaisFacadeService'
targetNamespace='http://facade.siiu.com/jaws'
xmlns='http://schemas.xmlsoap.org/wsdl/'
xmlns:ns1='http://model.siiu.com/jaws'
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
xmlns:tns='http://facade.siiu.com/jaws'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<types>
<schema elementFormDefault='qualified'
targetNamespace='http://model.siiu.com/jaws'
xmlns='http://www.w3.org/2001/XMLSchema'
xmlns:ns1='http://facade.siiu.com/jaws'
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:tns='http://model.siiu.com/jaws'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<import namespace='http://facade.siiu.com/jaws'/>
<complexType name='Pais'>
<sequence>
<element name='abrev' nillable='true' type='string'/>
<element name='idpais' nillable='true' type='string'/>
<element name='nombre' nillable='true' type='string'/>
</sequence>
</complexType>
</schema>
<schema elementFormDefault='qualified'
targetNamespace='http://facade.siiu.com/jaws'
xmlns='http://www.w3.org/2001/XMLSchema'
xmlns:ns2='http://model.siiu.com/jaws'
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:tns='http://facade.siiu.com/jaws'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<import namespace='http://model.siiu.com/jaws'/>
<complexType name='actualizaPais'>
<sequence>
<element name='Pais_1' nillable='true' type='ns2:Pais'/>
</sequence>
</complexType>
<complexType name='actualizaPaisResponse'>
<sequence/>
</complexType>
<complexType name='borraPais'>
<sequence>
<element name='Pais_1' nillable='true' type='ns2:Pais'/>
</sequence>
</complexType>
<complexType name='borraPaisResponse'>
<sequence/>
</complexType>
<complexType name='creaPais'>
<sequence>
<element name='Pais_1' nillable='true' type='ns2:Pais'/>
</sequence>
</complexType>
<complexType name='creaPaisResponse'>
<sequence/>
</complexType>
<complexType name='encuentraPais'>
<sequence>
<element name='String_1' nillable='true' type='string'/>
</sequence>
</complexType>
<complexType name='encuentraPaisResponse'>
<sequence>
<element name='result' nillable='true' type='ns2:Pais'/>
</sequence>
</complexType>
<complexType name='encuentraPaises'>
<sequence/>
</complexType>
<complexType name='encuentraPaisesResponse'>
<sequence>
<element maxOccurs='unbounded' minOccurs='0' name='result'
nillable='true' type='ns2:Pais'/>
</sequence>
</complexType>
<element name='actualizaPais' type='tns:actualizaPais'/>
<element name='actualizaPaisResponse' type='tns:actualizaPaisResponse'/>
<element name='borraPais' type='tns:borraPais'/>
<element name='borraPaisResponse' type='tns:borraPaisResponse'/>
<element name='creaPais' type='tns:creaPais'/>
<element name='creaPaisResponse' type='tns:creaPaisResponse'/>
<element name='encuentraPais' type='tns:encuentraPais'/>
<element name='encuentraPaisResponse' type='tns:encuentraPaisResponse'/>
<element name='encuentraPaises' type='tns:encuentraPaises'/>
<element name='encuentraPaisesResponse'
type='tns:encuentraPaisesResponse'/>
</schema>
</types>
<message name='PaisFacade_borraPaisResponse'>
<part element='tns:borraPaisResponse' name='result'/>
</message>
<message name='PaisFacade_actualizaPaisResponse'>
<part element='tns:actualizaPaisResponse' name='result'/>
</message>
<message name='PaisFacade_actualizaPais'>
<part element='tns:actualizaPais' name='parameters'/>
</message>
<message name='PaisFacade_encuentraPaisesResponse'>
<part element='tns:encuentraPaisesResponse' name='result'/>
</message>
<message name='PaisFacade_encuentraPaises'>
<part element='tns:encuentraPaises' name='parameters'/>
</message>
<message name='PaisFacade_encuentraPais'>
<part element='tns:encuentraPais' name='parameters'/>
</message>
<message name='PaisFacade_creaPais'>
<part element='tns:creaPais' name='parameters'/>
</message>
<message name='PaisFacade_borraPais'>
<part element='tns:borraPais' name='parameters'/>
</message>
<message name='PaisFacade_encuentraPaisResponse'>
<part element='tns:encuentraPaisResponse' name='result'/>
</message>
<message name='PaisFacade_creaPaisResponse'>
<part element='tns:creaPaisResponse' name='result'/>
</message>
<portType name='PaisFacade'>
<operation name='actualizaPais'>
<input message='tns:PaisFacade_actualizaPais'/>
<output message='tns:PaisFacade_actualizaPaisResponse'/>
</operation>
<operation name='borraPais'>
<input message='tns:PaisFacade_borraPais'/>
<output message='tns:PaisFacade_borraPaisResponse'/>
</operation>
<operation name='creaPais'>
<input message='tns:PaisFacade_creaPais'/>
<output message='tns:PaisFacade_creaPaisResponse'/>
</operation>
<operation name='encuentraPais'>
<input message='tns:PaisFacade_encuentraPais'/>
<output message='tns:PaisFacade_encuentraPaisResponse'/>
</operation>
<operation name='encuentraPaises'>
<input message='tns:PaisFacade_encuentraPaises'/>
<output message='tns:PaisFacade_encuentraPaisesResponse'/>
</operation>
</portType>
<binding name='PaisFacadeBinding' type='tns:PaisFacade'>
<soap:binding style='document'
transport='http://schemas.xmlsoap.org/soap/http'/>
<operation name='actualizaPais'>
<soap:operation soapAction=''/>
<input>
<soap:body use='literal'/>
</input>
<output>
<soap:body use='literal'/>
</output>
</operation>
<operation name='borraPais'>
<soap:operation soapAction=''/>
<input>
<soap:body use='literal'/>
</input>
<output>
<soap:body use='literal'/>
</output>
</operation>
<operation name='creaPais'>
<soap:operation soapAction=''/>
<input>
<soap:body use='literal'/>
</input>
<output>
<soap:body use='literal'/>
</output>
</operation>
<operation name='encuentraPais'>
<soap:operation soapAction=''/>
<input>
<soap:body use='literal'/>
</input>
<output>
<soap:body use='literal'/>
</output>
</operation>
<operation name='encuentraPaises'>
<soap:operation soapAction=''/>
<input>
<soap:body use='literal'/>
</input>
<output>
<soap:body use='literal'/>
</output>
</operation>
</binding>
<service name='PaisFacadeService'>
<port binding='tns:PaisFacadeBinding' name='PaisFacadePort'>
<soap:address
location='http://Contabilidad:8080/SiiuEJBModule/PaisFacade'/>
</port>
</service>
</definitions>
As you can see, style is DOCUMENT/LITERAL, parameter pass works fine and
array objects deserializing fails, however with RPC/LITERAL style an array
of objects deserializing works fine, but parameter pass to web services
fails.
I'm using wsdl importer rev $5569, some weeks ago you send me an fixed wsdl
importer rev $3108, the last importer was downloaded from codegear web site
in the next URL:
http://codecentral.codegear.com/Item/24535
Functional behavior is inverted when i use one style or another. The web
service is an EJB 3.0 exposed through JBossWS with JSR-181 specification,
JSR-181 doesn't support RPC/ENCODED so i can't use this style.
If a newer SOAP runtime and wsdl importer exists please send it to me.
Thanks in advance!!
Jair Karim
Technical Details
Message-ID:
<463bd3dd@newsgroups.borland.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.glorb.com!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mailReferences:
<463a91ef@newsgroups.borland.com> <463ba1a1$1@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Thread: 11096a,d3fae8617f67aeb0 X-Google-Attributes: gid11096a,public X-Google-Language: ENGLISH,ASCII-7-bit From: "Jair Karim Tinoco" <jktinoco@evolucionti.com.mx> Newsgroups: borland.public.cppbuilder.webservices.soap References: <463a91ef@newsgroups.borland.com> <463ba1a1$1@newsgroups.borland.com> In-Reply-To: <463ba1a1$1@newsgroups.borland.com> Subject: Re: Problem Deserializing Array Of Objects Date: Fri, 4 May 2007 19:46:03 -0500 Lines: 224 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Windows Mail 6.0.6000.16386 X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16386 NNTP-Posting-Host: 189.168.139.174 Message-ID: <463bd3dd@newsgroups.borland.com> X-Trace: newsgroups.borland.com 1178325981 189.168.139.174 (4 May 2007 17:46:21 -0700) Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.glorb.com!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail