Still NO. I change the server method to public Vector getData(List req) { }
and client side to List req = new Vector(); req.add("user"); Vector params = new Vector(1); params.add(req); client.execute("handler.getData", params); I got the same exception Thanks, Zhi -----Original Message----- From: Jochen Wiedmann (JIRA) [mailto:[EMAIL PROTECTED] Sent: Thursday, June 22, 2006 9:00 PM To: [EMAIL PROTECTED] Subject: [jira] Commented: (XMLRPC-89) cannot use Vector, Hashtable, etc as arguments of metheds in handler [ http://issues.apache.org/jira/browse/XMLRPC-89?page=comments#action_12417299 ] Jochen Wiedmann commented on XMLRPC-89: --------------------------------------- Please try the following: Does it work, if you change the use of Vector on the server side to List? (Using a List is recommended anyways, for reasons of performance.) > cannot use Vector, Hashtable, etc as arguments of metheds in handler > -------------------------------------------------------------------- > > Key: XMLRPC-89 > URL: http://issues.apache.org/jira/browse/XMLRPC-89 > Project: XML-RPC > Type: Bug > Environment: xmlrpc3.0b1 nightlybuild > Reporter: Zhi Han > > In handler, I have methods like > public Vector getData(Vector req) > { > } > public Vector pingHandler() > { > } > On client side, I have code like: > Vector req = new Vector(); > req.add("user"); > Vector params = new Vector(1); > params.add(req); > client.execute("handler.getData", params); > I always got exception > Jun 22, 2006 7:34:37 AM org.apache.xmlrpc.server.XmlRpcStreamServer execute > SEVERE: execute: Error while performing request > org.apache.xmlrpc.XmlRpcException: Illegal argument for method getData in class test.servlet.XMLRPCHandler > at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHan dler.java:71) > at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java: 43) > at org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:67) > at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java: 196) > at org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletServer. java:91) > at org.apache.xmlrpc.webserver.XmlRpcServlet.doPost(XmlRpcServlet.java:99) > at test.servlet.XMLRPCServlet.doPost(XMLRPCServlet.java:217) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:237) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:157) > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:214) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext Valve.java:198) > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:152) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137 ) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117 ) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:102) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :109) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) > at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) > at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:705) > at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:683) > at java.lang.Thread.run(Thread.java:536) > Caused by: > java.lang.IllegalArgumentException: argument type mismatch > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 ) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHan dler.java:65) > at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java: 43) > at org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:67) > at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java: 196) > at org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletServer. java:91) > at org.apache.xmlrpc.webserver.XmlRpcServlet.doPost(XmlRpcServlet.java:99) > at test.servlet.XMLRPCServlet.doPost(XMLRPCServlet.java:217) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:237) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:157) > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:214) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext Valve.java:198) > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:152) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137 ) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117 ) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:102) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :109) > at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) > at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) > at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) > at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:705) > at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:683) > at java.lang.Thread.run(Thread.java:536) > While invoke pingHandler (new argument) > I got > org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse servers response: Unexpected non-whitespace character data > at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTran sport.java:267) > at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTrans port.java:216) > at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java: 53) > at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166) > at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136) > at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125) > at MyXmlRpcClient.main(MyXmlRpcClient.java:32) > Caused by: > org.xml.sax.SAXParseException: Unexpected non-whitespace character data > at org.apache.xmlrpc.parser.TypeParserImpl.characters(TypeParserImpl.java:79) > at org.apache.xmlrpc.parser.RecursiveTypeParserImpl.characters(RecursiveTypePar serImpl.java:139) > at org.apache.xmlrpc.parser.MapParser.characters(MapParser.java:79) > at org.apache.xmlrpc.parser.RecursiveTypeParserImpl.characters(RecursiveTypePar serImpl.java:142) > at org.apache.xmlrpc.parser.RecursiveTypeParserImpl.characters(RecursiveTypePar serImpl.java:142) > at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(Unkn own Source) > at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanC ontent(Unknown Source) > at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$Fragm entContentDispatcher.dispatch(Unknown Source) > at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanD ocument(Unknown Source) > at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) > at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) > at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) > at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) > at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTran sport.java:265) > at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTrans port.java:216) > at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java: 53) > at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166) > at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136) > at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125) > at MyXmlRpcClient.main(MyXmlRpcClient.java:32) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]