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)