2013-06-28 2 views
0

HttpServletRequest 요청을 통해 전달되는 URL에서 XML 파일을 가져 오는이 코드가 있습니다. null/empty가 아닌 요청 및 inStream 값을 확인했습니다. 하지만 오류가 발생합니다 "문서의 라인 -1 오류 : 파일 조기 끝. 중첩 예외 : 파일 조기 종료." request 및 inStream 값은 각각 [email protected] [email protected] 으로 표시됩니다. 다음 코드SAXReader가 파일의 조기 종료를 반환합니다.

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

'System.out.println (inStream); '?!? –

+0

단지 inStream 값을 확인하십시오. null인지의 여부. – sanjeeda

답변

0

당신이 읽고있는 XML 파일이 제대로 형성되지 않기 때문에이 발생할 수 있습니다.

끝 태그가 없거나 파일 끝 문자를 찾을 수없는 경우에도 사용할 수 있습니다.

+0

이 캐릭터는 어떻게 생겼을까요? –

관련 문제