I'm a couple days wiser now in the ways of type mapping in Axis,
so I thought I'd post the answer to my own question in case someone
else runs into the same problem.

Quick recap:  my service class has functions which take as parameters
and return arrays of java.util.Map.  Client calls to these functions
resulted in null pointer exceptions on the server in alpha-3 and nightly
builds between 1/26 and 1/30.

The solution:  add the following to the service deployment descriptor:

<typeMapping
  qname="ns1:Map"
  xmlns:ns1="http://xml.apache.org/xml-soap";
  languageSpecificType="java:java.util.Map"
  serializer="org.apache.axis.encoding.ser.MapSerializerFactory"
  deserialiser="org.apache.axis.encoding.ser.MapDeserializerFactory"
/>

Note that these factory packages will work with 1/30 builds or later;
if you're still using alpha-3, use "org.apache.axis.encoding".

I'm still of the opinion that I shouldn't need to specify the serializer
for Map when Hashtable and HashMap are intriniscally supported.  This
is more of a quibble than a serious problem, though.

p.

Reply via email to