Jeff Greif wrote:
I think there is a workaround which may enable a slightly tweaked client to work on straight JAX-RPC and on Axis. You'd add a piece that looked up the type mappings for the types that are treated different in the two implementations, such as xsd:unsignedByte, xsd:anyURI and override the Axis default type mappings to agree with those of JAX-RPC. I haven't tried this exact thing, but I have done something similar, in mapping anyURI to and from String rather than some Axis class.

Something like this was needed in the deployment descriptor:
   <typeMapping
     deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"
     serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"
     languageSpecificType="java:java.lang.String"
     encodingStyle=""
     qname="xsd:anyURI"/>

This mapping could be made in your client java code instead if you were unwilling to have a different deployment descriptor for an axis-based client from that of a pure jax-rpc client.

So, I can use this method with the wsdl2java ant task to force a JAX-RPC compliant binding? I simply ask this because I've managed to get the classes generated without any usage of a deployment descriptor (wsdd?) so-far. Btw, I am RTFM, but there is so much of it and related SOAP stuff to read[1].


[1]: http://www.tbray.org/ongoing/When/200x/2004/09/21/WS-Research

--
Mike

Reply via email to