2011-09-08 45 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