Serialization/deserialization problems

You can use information and example provided here to know more about Serialization/deserialization problems.

By default all complex types are serialized/deserialized by Axis' org.apache.axis.encoding.ser.BeanSerializer/org.apache.axis.encoding.ser.BeanDeserializer. These default serializers and deserializers are not appropriate in certain rare cases. If you face a serialization/deserialization error, it is likely that you need to provide a custom serializer/deserializer.

Here is one of the known cases:
XML Schema list type
When the XML Schema of the WSDL document defines an element to be of the list type:
       <s:simpleType name="MyListType">
        <s:list>
          <s:simpleType>
            <s:restriction base="s:string">
              <s:enumeration value="One" />
              <s:enumeration value="Two" />
              <s:enumeration value="Three" />
            </s:restriction>
          </s:simpleType>
        </s:list>
      </s:simpleType>
… you will see an error like the following:
	at org.apache.axis.encoding.ser.ArrayDeserializer.characters(ArrayDeserializer.java:502)
		at org.apache.axis.encoding.DeserializationContext.characters(DeserializationContext.java:966)
		at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:177)
		at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
		at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
		at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
		at org.apache.axis.client.Call.invoke(Call.java:2467)
		at org.apache.axis.client.Call.invoke(Call.java:2366)
		at org.apache.axis.client.Call.invoke(Call.java:1812)
		at com.ibm.di.fc.webservice.AxisEasyInvokeSoapWS.perform(Unknown Source)
The cause of the problem is that org.apache.axis.encoding.ser.ArrayDeserializer is not appropriate for xsd:list types. You should use the org.apache.axis.encoding.ser.SimpleListDeserializer deserializer instead. You can fix the problem using a script like the following in the After Initialize hook of the AxisJavaToSoap/AxisSoapToJava FC:
var javaType = java.lang.Class.forName("[Ljava.lang.String;");
var xmlType = new javax.xml.namespace.QName("http://www.example.com", "MyListType");;
var serializerFactory = new org.apache.axis.encoding.ser.SimpleListSerializerFactory(javaType, xmlType);
var deserializerFactory = new org.apache.axis.encoding.ser.SimpleListDeserializerFactory(javaType, xmlType);
thisConnector.getFunction().registerTypeMapping(javaType, xmlType, serializerFactory, deserializerFactory);