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/