I have a SOAP client which is passing an array as:

<molNames soapenc:arrayType="xsd:string[1]">
<xsd:string xsi:type="xsd:string">GW671055X</xsd:string>
</molNames>

AXIS (1.0 and latest 1.1 rc2) is not happy with this and returns:

  <soapenv:Fault>
   <faultcode>soapenv:Server.userException</faultcode>
   <faultstring>org.xml.sax.SAXException: SimpleDeserializer encountered a child 
element, which is NOT expected, in something it was 
trying to deserialize.</faultstring>
   <detail/>
  </soapenv:Fault>

If I change the request and manually re-submit using:

<molNames xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[1]">
<xsd:string xsi:type="xsd:string">GW671055X</xsd:string>
</molNames>

evrything is OK.
Is the former a valid SOAP encoding. Is AXIS incorrectly handling it?

--
Duncan Harris, Sapio Design Ltd, Chester, U.K.
Java and C++ Consulting. http://www.sapio.com/

Reply via email to