我正在对 xml 服务器进行 Apache xml rpc 客户端调用(客户端版本 - 3.1.2 和 3.1.4 的服务器)
当客户端调用发生时,我收到运行时错误:
[ XML_RPC, CLIENT ] XmlRpcClient 无法执行事务,原因:ClassCastException java.lang.ClassCastException: java.util.ArrayList 无法在 org.apache.xmlrpc.parser.XmlRpcResponseParser.addResult(XmlRpcResponseParser. java:60) 在 org.apache.xmlrpc.parser.XmlRpcResponseParser.endElement(XmlRpcResponseParser.java:186) 在 org.apache.xerces.parsers 的 org.apache.xmlrpc.parser.RecursiveTypeParserImpl.endValueTag(RecursiveTypeParserImpl.java:78) .AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl org.apache.xerces 上的 .XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)。org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.parsers.XML11Configuration.parse(Unknown Source)。 AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:186) at 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 的 org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)。XmlRpcClient.execute(XmlRpcClient.java:167) 在 org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:158) 在 org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:147)
在调试时,我发现 api 中的结果是 Map,但作为对象传递的是 List。但这并不能缩小问题的范围。我也将服务器移至 3.1.2,但运行时错误不会消失。