Title: RE: array serialization problem (user error ?)
Hello,
 
I ran into the same problem, i'm roundtripping
sometimes (because I'm to lazy to type) between
the generated java beans from java2wsdl and back-
wards wsdl2java, till 2002-02-27 nightly build this was
working in both ways, even though java2wsdl always emitted something
like this:
 

<complexType name="ArrayOf_tns2_TradeType">

<complexContent>

<restriction base="SOAP-ENC:Array">

<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns2:TradeType[]"/>

</restriction>

</complexContent>

since yesterday the deserialization failed in the testcase but with
the updated wsdl recommondation form rich it works back.
 
Maybe java2wsdl can be adjusted?
 
Thanks for the info,
Oliver

Neu: NZZ finfox
Die Finanz- und Vermögensplanung für Private
http://finfox.nzz.ch

ECOFIN Research and Consulting AG
Neumuensterallee 6
CH-8032 Zuerich
+41 1 389 65 29
[EMAIL PROTECTED]
http://www.ecofin.ch

 

-----Original Message-----
From: Dave Dunkin [mailto:[EMAIL PROTECTED]]
Sent: Freitag, 1. März 2002 00:18
To: '[EMAIL PROTECTED]'
Subject: RE: array serialization problem (user error ?)

The wsdl is from a deployed axis service. Sorry, I guess I didn't make that part clear before. The problem isn't with the axis stubs (like I said before, .NET stubs fail too), it's with the axis service. I've attached as much of the source code as I can provide.

Dave Dunkin

-----Original Message-----
From: R J Scheuerle Jr [mailto:[EMAIL PROTECTED]]
Sent: Thursday, February 28, 2002 3:07 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: array serialization problem (user error ?)


I took a serious look your ServiceOne.wsdl document, and it doesn't appear
to match your response files.

Here's a snippet of the response file:

  <multiRef id="id1" SOAP-ENC:root="0"
     xsi:type="ns3:ScreenOutputs__Table"
    xmlns:ns3="http://output.getOrderData.ServiceOne.serviceone"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">

   <_Record href="#id2"/>
   <_Record href="#id3"/>
   ...
<multiRef />

<multiRef id="id2"
      SOAP-ENC:root="0"
      xsi:type="ns20:ScreenOutputs__Table__Record"
      xmlns:ns20="http://output.getOrderData.ServiceOne.serviceone"
      xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">

   <order xsi:type="xsd:string">1</order>
   ....
</multiRef>

The response indicates that a _Record should be of type
"ns2:ScreenOutputs__Table__Record",
but in your wsdl you have _Record as type
="intf:ArrayOf_tns2_ScreenOutputs__Table__Record".

The numerous _Record fields indicate that it should have the maxOccurs
="unbounded" attribute.

Do the following:

1) Change the ScreenOutputs__Table to:

    <complexType name="ScreenOutputs__Table">
       <all>
         <element name="_Record"
             nillable="true" maxOccurs="unbounded"
             type="tns2:ScreenOutputs__Table__Record"/>
       </all>
    </complexType>

2) Get rid of the complexType ArrayOf_tns2_ScreenOutputs__Table__Record.

3) Re-run WSDL2Java and try again.


Where did you get this WSDL ?

Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)

Reply via email to