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(DeserializationContextImpl.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(AvailableAutosSoapBindingStub.java:135)
[java] at
integtech.redteam.nyt.AvailableAutosSoapBindingStub.getAvailableAutos(AvailableAutosSoapBindingStub.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(DeserializationContextImpl.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