org.xml.sax.SAXParseException: Premature end of file

aaqq552436 2013-07-04 10:46:13
org.jdom.input.JDOMParseException: Error on line -1: Premature end of file.
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:468)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:851)
at com.gsol.app.adaptor.importer.XmlParserPipe.transformMessageObjects(XmlParserPipe.java:93)
at com.gsol.enigma.adaptor.impl.BasePipe.processMessage(BasePipe.java:125)
at com.gsol.enigma.adaptor.impl.STPipelineController.processMessage(STPipelineController.java:43)
at com.gsol.enigma.adaptor.impl.SimpleController.processMessage(SimpleController.java:556)
at com.gsol.enigma.adaptor.hospital.HospitalPipe.processMessage(HospitalPipe.java:107)
at com.gsol.enigma.adaptor.impl.STPipelineController.processMessage(STPipelineController.java:43)
at com.gsol.enigma.adaptor.impl.SimpleController.processMessage(SimpleController.java:556)
at com.gsol.enigma.adaptor.impl.BaseSource.processMessage(BaseSource.java:277)
at com.gsol.enigma.adaptor.impl.BaseSource.sourceProcess(BaseSource.java:421)
at com.gsol.enigma.adaptor.impl.BaseSource.runPoll(BaseSource.java:320)
at com.gsol.enigma.adaptor.impl.BaseSource.run(BaseSource.java:238)
at com.gsol.enigma.adaptor.impl.SourceRunner.run(SourceRunner.java:95)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
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.XMLVersionDetector.determineDocVersion(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 org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
... 14 more
Caused by:
org.xml.sax.SAXParseException: Premature end of file.
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.XMLVersionDetector.determineDocVersion(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 org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:851)
at com.gsol.app.adaptor.importer.XmlParserPipe.transformMessageObjects(XmlParserPipe.java:93)
at com.gsol.enigma.adaptor.impl.BasePipe.processMessage(BasePipe.java:125)
at com.gsol.enigma.adaptor.impl.STPipelineController.processMessage(STPipelineController.java:43)
at com.gsol.enigma.adaptor.impl.SimpleController.processMessage(SimpleController.java:556)
at com.gsol.enigma.adaptor.hospital.HospitalPipe.processMessage(HospitalPipe.java:107)
...全文
1054 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaqq552436 2013-07-04
  • 打赏
  • 举报
回复
xml文件确定不为空!
  • 打赏
  • 举报
回复
reader为空值。看看你文件是否为空。
aaqq552436 2013-07-04
  • 打赏
  • 举报
回复
上面是标红的那一行报错!感谢各位大侠
aaqq552436 2013-07-04
  • 打赏
  • 举报
回复
protected InputStream getInputStream(MessageObject msgObj) throws Exception { InputStream inputstream = (InputStream) msgObj.get (MessageConstants.STREAM); if (inputstream == null) { Object sourceObj = msgObj.get (MessageConstants.SOURCE); Object fileObj = msgObj.get (MessageConstants.FILE); if (sourceObj instanceof ZipFile) { ZipFile source = (ZipFile) sourceObj; ZipEntry entry = source.getEntry(fileObj.toString()); // make sure the input stream is in the right encoding inputstream = source.getInputStream(entry); } else inputstream = new FileInputStream((File) fileObj); } return inputstream; }
aaqq552436 2013-07-04
  • 打赏
  • 举报
回复
protected MessageObject[] transformMessageObjects (MessageObject[] msgObj) throws PipelineException { List retList = new ArrayList (); try { for (int i = 0; i < msgObj.length; i++) { MessageObject msg = msgObj[i]; InputStream inputstream = getInputStream(msg); if (inputstream != null) { InputStreamReader reader = new InputStreamReader(inputstream, encoding); Document doc = null; synchronized (documentBuilder) { doc = documentBuilder.build(reader); } if (doc != null) { msg.put(MessageConstants.DOCUMENT, doc); retList.add(msg); } } } } catch (Exception e) { logger.error ("[**" + getName() + "**error**] Unable to parse xml document", e); throw new PipelineException("[**" + getName() + "**error**] Failed to create src document " + e.getMessage(), PipelineException._HOSPITAL); } if (retList.isEmpty()) return null; return (MessageObject[])retList.toArray (new MessageObject[0]); }

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧