2011-09-08 44 views
0

我正面临一个org.xml.sax.SAXParseException,希望有人能向我解释这一点。XmlRpcStreamServer引发org.xml.sax.SAXParseException问题

堆栈跟踪为

 
Failed to parse XML-RPC request: Character reference "&# 
org.apache.xmlrpc.XmlRpcException: Failed to parse XML-RPC request: Character reference "&# 
    at org.apache.xmlrpc.server.XmlRpcStreamServer.getRequest(XmlRpcStreamServer.java:71) 
    at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:199) 
    at org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletServer.java:112) 
    at org.app.servlets.MyXmlRpcServerServlet.doPost(MyXmlRpcServerServlet.java:96) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:636) 
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 382; Character reference "&# 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1234) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525) 
    at org.apache.xmlrpc.server.XmlRpcStreamServer.getRequest(XmlRpcStreamServer.java:65) 
    ... 17 more 
Caused by: 
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 382; Character reference "&# 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1234) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525) 
    at org.apache.xmlrpc.server.XmlRpcStreamServer.getRequest(XmlRpcStreamServer.java:65) 
    at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:199) 
    at org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletServer.java:112) 
    at org.app.servlets.MyXmlRpcServerServlet.doPost(MyXmlRpcServerServlet.java:96) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:636) 

谷歌搜索这个例外,我能找到的东西像 “org.xml.sax.SAXParseException:字符引用‘一些字符’是无效的XML”,这是有道理的。 但是什么是

Failed to parse XML-RPC request: Character reference "&#
在异常消息中似乎缺少“是一个无效的XML”。

谢谢。

回答

0

不管错误消息是什么:原因是xml文档中的错误。列382附近的内容格式不正确,文档无法解析。

我会接收消息,使用一些工具来应用适当的缩进(例如eclipse wst插件中的xml编辑器),并验证文档是否真的格式正确。

+0

在服务器日志中捕获到异常。我无法访问原始文档。 – user200340

+0

这使得它更加复杂。你能在客户端抓到它吗?或者 - 另一种实用的方法,使用wireshark监视/捕获网络流量并从那里获取文档? *某物*发送无效的东西。 –

+0

是的,这是最难的部分。在过去的几个小时里,我一直试图重新产生异常,但仍然不幸运。 – user200340