I have the following problem,
 
I send 2 parameters in the in the Method "invoke" one is a String and the other ist a Hashmap.
 
When i send  a key and only one String as a value there is no problem!
But when I use a Array as value for the Hashmap i get a
 
 <faultstring>org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.</faultstring>
 
So when I look at my wsdl (generated with axis 1.2 beta_2) I see no
 
- <schema elementFormDefault="qualified" targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
- <complexType name="mapItem">
- <sequence>
  <element name="key" nillable="true" type="xsd:anyType" />
  <element name="value" nillable="true" type="xsd:anyType" />
  </sequence>
  </complexType>
- <complexType name="Map">
- <sequence>
  <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
  </sequence>
  </complexType>
  </schema>
  </wsdl:types>
 
only the
 
- <element name="invoke">
- <complexType>
- <sequence>
  <element name="functionName" type="xsd:string" />
  <element name="params" type="apachesoap:Map" />
  </sequence>
  </complexType>
  </element>
 
The SOAP-Message for the call was generated and looks like this:
 
<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:Header>
      <ns1:sessionID soapenv:actor="
http://schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0" xmlns:ns1="http://xml.apache.org/axis/session">1368408239792107348</ns1:sessionID>
   </soapenv:Header>
   <soapenv:Body>
      <invoke xmlns="service:Smaragd">
         <functionName>isActual</functionName>
         <params>
            <item xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns="">
               <key>kem</key>
               <value>
                  <item xsi:type="soapenc:string">test</item>
                  <item xsi:type="soapenc:string">test</item>
               </value>
            </item>
            <item xmlns="">
               <key>versionOBIDs</key>
               <value>
                  <item xsi:type="soapenc:string" xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/">test</item>
                  <item xsi:type="soapenc:string" xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/">test</item>
               </value>
            </item>
         </params>
      </invoke>
   </soapenv:Body></soapenv:Envelope>
 
normaly there should be no problem to send a array in a Hashmap!???
 
Can pls someone let me know what I am doing wrong???
 
Thanks Tomi
 

Reply via email to