Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.2RC3
-
None
-
None
-
Linux
Apache Tomcat 5.0.x
Description
My web services are in doc/literal wrapped style, and they worked fine prior to RC3 version.
I have a method that accepts four parameters, two strings and two arrays of Strings, and here is how it's described in the service WSDL:
<element name="query">
<complexType>
<sequence>
<element name="collection" type="xsd:string"/>
<element name="query" type="xsd:string"/>
<element minOccurs="0" maxOccurs="unbounded" name="namespaces" type="xsd:string"/>
<element minOccurs="0" maxOccurs="unbounded" name="vars" type="xsd:string"/>
</sequence>
</complexType>
</element>
Now, when I call the method dynamically with Axis APIs, I get the following exception:
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
This is the SOAP request message, generated when I called the method above, passing the two strings, the first array as null and the second array with two elements:
<soapenv:Body>
<query xmlns="http://montag.sourceforge.net/ns/wsdl/local">
<arg0 xsi:type="xsd:string">/resources</arg0>
<arg1 xsi:type="xsd:string"><test>
</test></arg1>
<arg2 xsi:nil="true"/>
<arg3>
<item xsi:type="xsd:string" xmlns="">ts</item>
<item xsi:type="xsd:string" xmlns="">1113390437052</item>
</arg3>
</query>
</soapenv:Body>
This happens also with other methods accepting other parameters and only one array, and so on.
Hope someone could help.
Regards,
Sergio B.