I believe XML Standard would be to wrap you shortAutoDescription with shortAutoDescriptions.
<shortAutoDescriptions> <shortAutoDescription></> ... <shortAutoDescription></> </shortAutoDescriptions> But either way it is better than the schema in your first post to the list (<xsd:element name="autoList" type="xsd1:shortAutoDescription" maxOccurs="unbounded"/>). So in short your second method should work. -----Original Message----- From: Ben Anderson [mailto:[EMAIL PROTECTED] Sent: Wednesday, November 03, 2004 11:45 AM To: [EMAIL PROTECTED] Subject: Re: array producing SAXException One thing I thought might be causing the problem is: <xsd:element name="autoList" type="xsd1:shortAutoDescription" maxOccurs="unbounded"/> would this be better off being something like: <xsd:element name="autoList"> <xsd:sequence> <xsd:element name="auto" type="xsd1:shortAutoDescription" maxOccurs="unbounded"/> </xsd:sequence> </xsd:element> that would change this: <soapenv:Body> <autoList xmlns="integtech:redTeamTypes"> <id xsi:type="xsd:int" xmlns="">1</id> <make xsi:type="xsd:string" xmlns="">Mercury</make> </autoList> <ns1:autoList xmlns:ns1="integtech:redTeamTypes"> so that the <autoList> wraps the array. I think that may change my generated java classes, but if it'll work... Thanks, Ben On Wed, 3 Nov 2004 00:17:47 +0000, Ben Anderson <[EMAIL PROTECTED]> wrote: > Hi, > I know the standard is moving towards document-literal messaging, but > I'm working on a purely academic project, which I will be very > thankful when it works. Everything's working great except for an > array I'm trying to use. > > Here's the relevant sections from the wsdl > <types> > <xsd:schema targetNamespace="integtech:redTeamTypes" > xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"> > <xsd:complexType name="shortAutoDescription"> > <xsd:all> > <xsd:element name="id" type="xsd:int"/> > <xsd:element name="make" type="xsd:string"/> > <xsd:element name="model" type="xsd:string"/> > <xsd:element name="year" type="xsd:int"/> > <xsd:element name="sellingPrice" type="xsd:double"/> > </xsd:all> > </xsd:complexType> > <xsd:element name="autoList" type="xsd1:shortAutoDescription" > maxOccurs="unbound"/> > ... > <binding name="AvailableAutosSoapBinding" type="tns:AvailableAutosPortType"> > <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> > <operation name="GetAvailableAutos"> > <soap:operation soapAction=""/> > <input> > <soap:body use="encoded"/> > </input> > <output> > <soap:body use="encoded"/> > </output> > </operation> > </binding> > > using tcpmon, it seems the server is working ok, because is outputs: > <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Body> > <autoList xmlns="integtech:redTeamTypes"> > <id xsi:type="xsd:int" xmlns="">1</id> > <make xsi:type="xsd:string" xmlns="">Mercury</make> > <model xsi:type="xsd:string" xmlns="">Tracer</model> > <year xsi:type="xsd:int" xmlns="">1997</year> > <sellingPrice xsi:type="xsd:double" xmlns="">3000.0</sellingPrice> > </autoList> > <ns1:autoList xmlns:ns1="integtech:redTeamTypes"> > <id xsi:type="xsd:int">2</id> > <make xsi:type="xsd:string">Nissan</make> > <model xsi:type="xsd:string">Sentra</model> > <year xsi:type="xsd:int">2000</year> > <sellingPrice xsi:type="xsd:double">8000.0</sellingPrice> > ... > > but when I try to call it from the client: > [java] - Exception: > [java] org.xml.sax.SAXException: Bad types (int -> class > [Lintegtech.redteam.nyt.ShortAutoDescription;) > [java] at > org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:311) > [java] at > org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa tionContextImpl.java:963) > [java] at > org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198) > [java] Exception in thread "main" java.lang.RuntimeException: > org.xml.sax.SAXException: Bad types (int -> class > [Lintegtech.redteam.nyt.ShortAutoDescription;) > [java] at > integtech.redteam.test.TestClient.callAllAutos(TestClient.java:53) > [java] at > org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java: 722) > [java] at integtech.redteam.test.TestClient.main(TestClient.java:33) > [java] Caused by: org.xml.sax.SAXException: Bad types (int -> > class [Lintegtech.redteam.nyt.ShortAutoDescription;) > [java] at > org.apache.axis.message.RPCElement.deserialize(RPCElement.java:323) > [java] at > org.apache.axis.message.RPCElement.getParams(RPCElement.java:347) > [java] at org.apache.axis.AxisFault.makeFault(AxisFault.java:129) > [java] at org.apache.axis.client.Call.invoke(Call.java:2275) > [java] at org.apache.axis.client.Call.invoke(Call.java:2272) > [java] at org.apache.axis.client.Call.invoke(Call.java:2171) > [java] at org.apache.axis.client.Call.invoke(Call.java:1691) > [java] at org.apache.axis.client.Call.invoke(Call.java:2171) > [java] at org.apache.axis.client.Call.invoke(Call.java:1691) > [java] at > integtech.redteam.nyt.AvailableAutosSoapBindingStub.getAvailableAutos(Availa bleAutosSoapBindingStub.java:135) > [java] at > integtech.redteam.nyt.AvailableAutosSoapBindingStub.getAvailableAutos(Availa bleAutosSoapBindingStub.java:135) > [java] at > integtech.redteam.test.TestClient.callAllAutos(TestClient.java:51) > [java] at integtech.redteam.test.TestClient.main(TestClient.java:33) > [java] at > integtech.redteam.test.TestClient.callAllAutos(TestClient.java:51) > [java] ... 1 more > [java] Caused by: org.xml.sax.SAXException: Bad types (int -> > class [Lintegtech.redteam.nyt.ShortAutoDescription;) > [java] at > org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:311) > [java] at > org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa tionContextImpl.java:963) > [java] at > org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198) > [java] at > org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java: 722) > [java] at > org.apache.axis.message.RPCElement.deserialize(RPCElement.java:323) > [java] at > org.apache.axis.message.RPCElement.getParams(RPCElement.java:347) > [java] at org.apache.axis.client.Call.invoke(Call.java:2272) > [java] ... 5 more > [java] [ERROR] Java Result: 1 > > Any ideas? I'm pretty befuddled at this point. > > Thanks! > Ben >