Sto usando il mio servizio XMLRPC utilizzando la libreria Apache XMLRPC ma in reponse di XMLRPC ha carattere spazzatura in modo biblioteca non può analizzare il risultatoJava di Apache XMLRPC biblioteca
Qui, è il mio programma XMLRPC :
import java.net.URL; import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; public class XMLRpcExample { public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub XmlRpcClientConfigImpl cf = new XmlRpcClientConfigImpl(); cf.setServerURL(new URL("/xmlrpc/object")); cf.setBasicUserName("admin"); cf.setBasicPassword("m_demo"); cf.setConnectionTimeout(60000); XmlRpcClient client = new XmlRpcClient(); client.setConfig(cf); Object[] params = new Object[] {"dbname",1,"m_demo","res.partner","partner_sync_openerp","[email protected]","22"}; String s =(String)client.execute("execute", params); System.out.println(s); } }
Ma io sono sempre questo errore in risposta, che assomiglia a questo:
[Fatal Error] :16:16: An invalid XML character (Unicode: 0xc) was found in the element content of the document. Exception in thread "main" org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse server's response: An invalid XML character (Unicode: 0xc) was found in the element content of the document. at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:202) at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:165) at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:125) at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69) at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56) at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167) at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137) at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126) at XMLRpcExample.main(XMLRpcExample.java:21) Caused by: org.xml.sax.SAXParseException; lineNumber: 16; columnNumber: 16; An invalid XML character (Unicode: 0xc) was found in the element content of the document. at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1237) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:551) at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:200) ... 8 more
L'XML-RPC dà un carattere spazzatura in reponse.
E la libreria stessa non riesce ad analizzare la risposta.
Significa che la libreria Apache XML-RPC non è in grado di analizzare la risposta.
Qualunque organismo può aiutarmi con ciò che devo fare?
Ho anche provato a risolvere questo problema via Internet ma non sono in grado di risolverlo.
Ho avuto lo stesso problema. Sei riuscito a risolvere il problema? –
Sai qual è la risposta, che viene rispedita in risposta alla tua domanda? (Potresti provare ad annusare il traffico con wireshark per vedere cosa viene restituito.) Forse è compresso in qualche modo o non sta usando XML affatto ... –
@ AndréSchild No, in realtà la maggior parte delle chiamate alla procedura remota va bene. Questo succede raramente per alcune chiamate specifiche. Si noti che la procedura remota proviene da una terza parte e non può essere modificata. La modifica deve essere effettuata alla nostra fine per evitare questo errore. –