I finally figured out how to specify the typeMapping but now I'm running into a new 
problem: I was using the WSDL2Java ant task to generate the classes and interfaces but 
the ant task doesn't generate the un-/deploy.wsdd files. So I generated them by 
calling WSDL2Java "by hand" and just copied the service description from the generated 
deploy.wsdd file.

But now I have another problem deserializing the SOAP call from the client:

<service name="TestService" provider="java:RPC" style="document">
    <!-- service parameter -->

    <operation name="getSoftware" qname="getSoftware" >
        <parameter name="type" type="xs:string"/>
        <parameter name="downloadURL" type="ns1:URL" mode="OUT"/>
        <parameter name="checksum" type="ns1:MD5" mode="OUT"/>
    </operation>

    <typeMapping qname="ns1:URL"
        type="java:com.verdisoft.test.URL"
        serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"
        encodingStyle=""/>
    <typeMapping qname="ns1:MD5"
        type="java:com.verdisoft.test.MD5"
        serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"
        encodingStyle=""/>
</service>

In the request the generated Stub sends the following SOAP body

<soapenv:Body>
    <getSoftware xmlns="">
        <type>test</type>
    </getDeviceConnectionSoftware>
</soapenv:Body>

and the result is a
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT 
expected, in something it was trying to deserialize.

[BTW: Does anyone know why the namespace declaration for the getSoftware element is 
empty?]

bye,
Jan

-- 
Jan Peter Hecking
[EMAIL PROTECTED]    VerdiSoft Software Entwicklungs GmbH
phone +49 40 280054 31       S�derstra�e 77, 20097 Hamburg, Germany
fax   +49 40 280054 50       http://www.verdisoft.com/

Reply via email to