Soap Maps.... apachens:Map [SOAP]

Giovanni Giorgi jj at objectsroot.com
Fri Oct 24 20:53:06 UTC 2003


Hi all!
    I got a small problem with Soap Opera.
I use a perl hashmap sent via Soap::Lite.
The Envelop model a long hashtable:

##a SoapHttpConnector Client:Return:{
<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:apachens="http://xml.apache.org/xml-soap" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
 <SOAP-ENV:Body>
  <namesp1:getAuthorsStatsResponse 
xmlns:namesp1="http://siforge/SIForge/Articles/Catalog">
   <s-gensym3 xsi:type="apachens:Map">
    <item>
     <key xsi:type="xsd:string">My Key</key>
     <value xsi:type="xsd:int">4</value>
    </item>
    <item>
     <key xsi:type="xsd:string">My Second Key</key>
     <value xsi:type="xsd:int">2</value>
    </item>
   </s-gensym3>
  </namesp1:getAuthorsStatsResponse>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

SoapOpera should return a simple Dictionary but it returns only the last 
value.
I think the problem is in the xsi:type named "apachens:Map".
It isn't a standard data type:
    http://www.zvon.org/xxl/soapReference/Output/index.html

I cannot change the perl library, and I'd  avoid an Array instead of a 
Dictionary.

How can I extend SoapOpera to parse this type?
Can you give me some hints?
Someone has got a similar problem?
Thank you!


-- 
  [   [  [ JJ ]  ]   ]  | First, they ignore you. Then they laugh  
                        | at you. Then they fight you. Then you win
http://www.siforge.org  |          Mahatma Ghandi





More information about the Squeak-dev mailing list