Hi, Please help as I really have to get something done for our evaluation of AXIS. I really appreciate your help and a quick reply.
Now the problem is that I register the bean mapping as follows: <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="symcor:RequestorService" provider="java:RPC"> <parameter name="className" value="com.symcor.od.server.soap.AxisFacade"/> <parameter name="allowedMethods" value="*"/> </service> <beanMapping qname="symcor:folder" xmlns:symcor="symcor:RequestorService" languageSpecificType="java:com.symcor.od.common.soap.message.Folder"/> </deployment> The API is as bellows: public Folder[] logon (String configDir, String appName, String I tried the wsdd file as above, but got the following error: =============================================== - Exception: org.xml.sax.SAXException: No deserializer defined for array type {symcor:Request orService}folder at org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDe serializer.java:256) =============================================== So I guess that the problem is that the Folder[] type is not known to Axis, even Folder is. So I add typeMapping to it, as <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="symcor:RequestorService" provider="java:RPC"> <parameter name="className" value="com.symcor.od.server.soap.AxisFacade"/> <parameter name="allowedMethods" value="*"/> <typeMapping xmlns:ns="symcor:RequestorService" qname="symcor:arrayOfFolder" 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/" /> </service> <beanMapping qname="symcor:folder" xmlns:symcor="symcor:RequestorService" languageSpecificType="java:com.symcor.od.common.soap.message.Folder"/> </deployment> However, this time, I got another error message and I even can not deploy: faultCode: {http://xml.apache.org/axis/}Server.userException faultString: org.apache.axis.deployment.wsdd.WSDDException: javax.xml.rpc.JAXRP CException: Null qualified name specified. javax.xml.rpc.JAXRPCException: Null qualified name specified. at org.apache.axis.encoding.TypeMappingImpl.register(TypeMappingImpl.jav a(Compiled Code)) at org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDSer It seems to me that the Axis picks up the definition of type Folder, but not Folder[]. How should I tell Axis about Folder[]? I really appreciate your help. Thanks alot for your quick reply. Jian -----Original Message----- From: Jian Zhang [mailto:[EMAIL PROTECTED]] Sent: Monday, September 30, 2002 10:21 AM To: '[EMAIL PROTECTED]' Subject: org.xml.sax.SAXException: No deserializer, problem I have a soap service that has a method of signature like: public Folder[] logon (String configDir, String appName, String serverName, String loginName, String passwd) Where Folder is a Java bean representing a file directory. This same interface works with SoapImplementation, but when I port it to Axis, the XML message goes from client to server well, but then on the client side, it reports the following error message. What have I do wrong Please help. Thanks. org.xml.sax.SAXException: No deserializer for {http://www.w3.org/2001/XMLSchema} anyType at org.apache.axis.encoding.DeserializerImpl.onStartElement(Deserializer Impl.java:446) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm pl.java:393) at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese rializationContextImpl.java:896) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja va:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen t.java:681) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm pl.java:369) at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese rializationContextImpl.java:896) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja va:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen t.java:681) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm pl.java:369) at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese rializationContextImpl.java:896) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja va:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen t.java:681) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:244) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:268) at org.apache.axis.client.Call.invoke(Call.java:1862) at org.apache.axis.client.Call.invoke(Call.java:1768) at org.apache.axis.client.Call.invoke(Call.java:1306) at com.symcor.od.client.soap.AxisClient.logon(AxisClient.java:52)