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