org.xml.sax.SAXParseException:Prolog中不允许内容。我有一个基于Java的Web服务客户端连接到JavaWeb服务(在Axis 1框架上实现)。我在日志文件中得到以下异常:Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.java:114)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:198)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
3 回答

烙印99
TA贡献1829条经验 获得超13个赞

倚天杖
TA贡献1828条经验 获得超3个赞
将不存在的XML文件传递给解析器时。例如,你通过了
new File("C:/temp/abc")
当只有C:/temp/abc.xml文件存在于您的文件系统时
在这两种情况下
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();document = builder.parse(new File("C:/temp/abc"));
或
DOMParser parser = new DOMParser();parser.parse("file:C:/temp/abc");
所有这些都给出了相同的错误消息。
非常令人失望的bug,因为下面的跟踪
javax.servlet.ServletException at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)...Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.... 40 more
没有提到“文件名不正确”或“这样的文件不存在”的事实。在我的例子中,我有绝对正确的XML文件,必须花2天来确定真正的问题。
添加回答
举报
0/150
提交
取消