我有这个代码,它接受来自URL的XML文件,该文件通过HttpServletRequest请求传递。我检查了请求和inStream的值,它们不是null / empty。但是我得到一个错误“文件的第-1行错误:文件过早结束。嵌套异常:文件过早结束。” 请求和inStream值显示为 org.apache.catalina.connector.RequestFacade@34a7fc0 org.apache.catalina.connector.CoyoteInputStream@100917f0 分别。 以下是代码
private void processRequest(HttpServletRequest request,
HttpServletResponse response, VariablesSecureApp vars) {
// TODO Auto-generated method stub
try {
System.out.println(request);
InputStream inStream = request.getInputStream();
System.out.println(inStream);
SAXReader sax = new SAXReader();
Document doc = sax.read(inStream);
System.out.println(doc);
Element rootElement = (Element) doc.getRootElement();
if (!rootElement.getName().equals("ob")){
throw new OBException("The root element of the xml document should be: Ob but it is " + rootElement.getName());
}
//createSalesOrder(doc,response,request);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
答案 0 :(得分:0)
这可能是因为您正在阅读的XML文件格式不正确。
这可能意味着缺少结束标记,或者甚至在找不到文件结束符时。