With a lot of help from James Black, I can finally get server side code executed till the end of operation that returns an array of my own object Folder.
However, on the client side, I got: ======================== faultString: org.xml.sax.SAXParseException: The root element is required in a well-formed document. faultActor: null faultDetail: stackTrace: org.xml.sax.SAXParseException: The root element is required in a well-formed document. at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:121 ) ========================= tcpmon reported an empty SOAP message (but with HTTP response header). My client side code is like this: Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(serverUrl) ); call.setOperationName(new QName(serviceName, operationName)); System.out.println ("\n\n\n\n: service " + serviceName); QName qn = new QName( "urn:MyRequestorService", "Folder" ); call.registerTypeMapping(Folder.class, qn, new org.apache.axis.encoding.ser.BeanSerializerFactory(Folder.class, qn), new org.apache.axis.encoding.ser.BeanDeserializerFactory(Folder.class, qn)); // // call.setReturnType( new QName("", (javax.xml.rpc.encoding.XMLType.SOAP_ARRAY); // org.apache.axis.encoding.XMLType. // call.setReturnType( new QName (org.apache.axis.encoding.XMLType.ATTR_ARRAY_TYPE, "symcor:folderArray") ); call.setReturnType( new QName (org.apache.axis.encoding.XMLType.ATTR_ARRAY_TYPE, "urn:MyRequestorService") ); Folder[] ret = (Folder[]) call.invoke( new Object[] {configDir, appName, serverName, loginName, password } ); Is there anything wrong with my code? Thanks, my deployment descriptor is: <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="MyRequestorService" provider="java:RPC"> <parameter name="className" value="com.symcor.od.server.soap.AxisFacade"/> <parameter name="allowedMethods" value="*"/> <typeMapping xmlns:ns="urn:MyRequestorService" qname="ns:Folder" type="java:com.symcor.od.common.soap.message.Folder" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping xmlns:ns="urn:MyRequestorService" qname="ns:MyArrayOfFolder" type="java:com.symcor.od.common.soap.message.Folder[]" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping xmlns:ns="urn:MyRequestorService" qname="ns:Criterion" type="java:com.symcor.od.common.soap.message.Criterion" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping xmlns:ns="urn:MyRequestorService" qname="ns:MyArrayOfCriterion" type="java:com.symcor.od.common.soap.message.Criterion[]" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping xmlns:ns="urn:MyRequestorService" qname="ns:Hit" type="java:com.symcor.od.common.soap.message.Hit" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping xmlns:ns="urn:MyRequestorService" qname="ns:MyArrayOfHit" type="java:com.symcor.od.common.soap.message.Hit[]" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping xmlns:ns="urn:MyRequestorService" qname="ns:HitList" type="java:com.symcor.od.common.soap.message.HitList" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </service> </deployment> Anyone has a similiar problem?