我正在对xml服务器进行Apache xml rpc客户端调用(客户端版本 - 3.1.2& server at 3.1.4)
当客户端调用发生时,我收到运行时错误:
[XML_RPC,CLIENT] XmlRpcClient无法执行事务,原因:ClassCastException:java.lang.ClassCastException:java.util.ArrayList无法强制转换为java.util.Map 在org.apache.xmlrpc.parser.XmlRpcResponseParser.addResult(XmlRpcResponseParser.java:60) at org.apache.xmlrpc.parser.RecursiveTypeParserImpl.endValueTag(RecursiveTypeParserImpl.java:78) 在org.apache.xmlrpc.parser.XmlRpcResponseParser.endElement(XmlRpcResponseParser.java:186) 在org.apache.xerces.parsers.AbstractSAXParser.endElement(未知来源) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(未知来源) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl $ FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 在org.apache.xerces.parsers.XML11Configuration.parse(未知来源) 在org.apache.xerces.parsers.XML11Configuration.parse(未知来源) 在org.apache.xerces.parsers.XMLParser.parse(未知来源) 在org.apache.xerces.parsers.AbstractSAXParser.parse(未知来源) 在org.apache.xerces.jaxp.SAXParserImpl $ JAXPSAXParser.parse(未知来源) 在org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:186) 在org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156) 在org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:115) 在org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69) 在org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56) 在org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167) 在org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:158) 在org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:147)
在debbuging上我发现api中的结果是期望Map但是作为对象传递的是List.But这并没有缩小问题的范围。 我将服务器也移动到3.1.2,但运行时错误不会发生。