Hi,
i am regarding problems with deserialization to a HashMap within an AXIS
Client. Server is a PHP-SOAP-Service, self developed from someone else.

This is the SOAP-Response:

<?xml version="1.0" encoding="iso-8859-1"?>
<SOAP-ENV:Envelope
 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
 xmlns:xsd="http://www.w3.org/2001/XMLSchema";
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
 xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
 xmlns:si="http://soapinterop.org/xsd";
 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
 xmlns:ctl="InternOrderFacade"
>
  <SOAP-ENV:Body>
    <ctl:getUserFromSessionResponse>
      <item xmlns:xp="http://xp-framework.net/xmlns/xp";
xsi:type="xp:de.schlund.webservices.methadon.MethadonLoginReturnValue">
        <status xsi:type="xsd:string">OK</status>
        <user xmlns:xp="http://xp-framework.net/xmlns/xp";
xsi:type="xp:de.schlund.webservices.methadon.MethadonLoginUser">
          <permissions xsi:type="xsd:ur-type"/>
          <properties xsi:type="xsd:ur-type">
            <vermittler_id xsi:type="xsd:string">1622</vermittler_id>
          </properties>
          <fullname xsi:type="xsd:string">Michael Konietzka</fullname>
          <email xsi:type="xsd:string">[EMAIL PROTECTED]</email>
          <phone xsi:type="xsd:string">+49 721 91374-513</phone>
          <department xsi:nil="true"/>
        </user>
      </item>
    </ctl:getUserFromSessionResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

I want to deserialize  "properties" to a HashMap.
I have a member "HashMap properties" in Class "MethadonLoginUser" and

I am registering type-mapping like this:
QName qnHashMap =
            new QName("http://www.w3.org/2001/XMLSchema";, "ur-type");
 call.registerTypeMapping(
                HashMap.class,
                qnHashMap,
                new MapSerializerFactory(HashMap.class, qnHashMap),
                new MapDeserializerFactory(HashMap.class, qnHashMap));

TypeMapping for the "MethadonLoginReturnValue" and "MethadonLoginUser" is
made via BeanSerializer and works well, i have "fullname","email" set after
deserialization.
But the HashMap properties in "MethadonLoginUser" is created, but
empty. There "should" be "vermittler_id".
I set LogLevel to "DEBUG" but I cannot see any entries from MapDeserializer,
just from DeserializationContextImpl.

What is wrong?
Maybe someone can provide some XML of a SOAP-Response, which works with
MapDeserializer.

Thanks
 Michael

-- 
Dipl.-Inform. Michael Konietzka  Schlund + Partner AG
- Development UNIX -             Brauerstraße 48 
    Webservices                  D-76135 Karlsuhe
http://www.schlund.de/           Germany

Reply via email to