🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.webservices.soap
Article #82

Re: Problem Deserializing Array Of Objects

#82
From: Jair Karim Tinoco
Date: Sat, 05 May 2007 00:46
223 lines
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-mail
References: <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