I have a method that takes a complex type. When I construct the Call object myself and set the typeMapping everything is fine:
Call call = (Call) service.createCall(); QName qn1 = new QName( "urn:DigitalObjectServices", "ListObjectsSOAPRequest" ); QName qn2 = new QName( "urn:DigitalObjectServices", "FilterCriteriaSOAPRequest" ); call.registerTypeMapping(ListObjectsSOAPRequest.class, qn1, new org.apache.axis.encoding.ser.BeanSerializerFactory(ListObjectsSOAPRequest.class, qn1), new org.apache.axis.encoding.ser.BeanDeserializerFactory(ListObjectsSOAPRequest.class, qn1)); call.registerTypeMapping(FilterCriteriaSOAPRequest.class, qn2, new org.apache.axis.encoding.ser.BeanSerializerFactory(FilterCriteriaSOAPRequest.class, qn2), new org.apache.axis.encoding.ser.BeanDeserializerFactory(FilterCriteriaSOAPRequest.class, qn2)); However when I try to use the stub created from my WSDL it complains of: org.xml.sax.SAXException: Deserializing parameter 'listObjectsSOAPRequest': could not find deserializer for type {http://soap.miscy}ListObjectsSOAPRequest I'm assuming this must be a problem with my WSDD not providing information about the type mapping correctly My WSDD looks like: <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" targetNamespace="http://server.domain.com/services/DigitalObjectServices?wsdl"> <service name="DigitalObjectServices" provider="java:RPC"> <parameter name="className" value="misc.soap.DigitalObjectServices"/> <parameter name="allowedMethods" value="*"/> <beanMapping qname="myNS:ListObjectsSOAPRequest" xmlns:myNS="urn:DigitalObjectServices" languageSpecificType="java:misc.soap.ListObjectsSOAPRequest"/> <beanMapping qname="myNS:FilterCriteriaSOAPRequest" xmlns:myNS="urn:DigitalObjectServices" languageSpecificType="java:misc.soap.FilterCriteriaSOAPRequest"/> </service> </deployment> Any advice please? __________________________________ Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. http://promotions.yahoo.com/new_mail