2013-04-24 45 views
0

我正在創建jUnit測試,以檢查爲客戶端應用程序提取XML的代理servlet返回它們而沒有損壞或任何更改。對於XML響應,DocumentBuilderFactory中的「document:null」?

在我的JUnit類我有執行我的HTTP GET請求代理Servlet一個doGet方法,它傳遞與GET PARAMS一個URL末

XML響應應當接收返回給客戶端(JUnit的)。

protected String doGet() throws IOException, ParserConfigurationException, SAXException 
{ 
    String requestURL = url + params; 
    System.out.println(requestURL); 
    // fetch XML from URL 
     System.out.println(requestURL); 

     URL url = new URL(requestURL); 
     HttpURLConnection connection = 
      (HttpURLConnection) url.openConnection(); 
     connection.setRequestMethod("GET"); 
     connection.setRequestProperty("Accept", "application/xml"); 

     InputStream xml = connection.getInputStream(); 
     System.out.println(connection.getResponseMessage()); 
     System.out.println(connection.getResponseCode()); 

     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder db = dbf.newDocumentBuilder(); 

     org.w3c.dom.Document text = db.parse(xml); 
     System.out.print(text.getNodeValue()); 
     return text.toString(); 
} 

這裏是我的輸出:

OK

[#document:空]

我試着g來獲取作爲XML文檔的HTTP響應的字符串值,所以我可以將它與另一個字符串進行比較以確保它是正確的。

如何獲取此字符串值?

感謝

+0

參見[解決它如何I輸出org.w3c.dom.Element中的字符串格式java嗎?(http://stackoverflow.com/questions/1219596/how-to-i-output-org-w3c-dom-element-to-string-format-in-java) – McDowell 2013-04-24 10:15:58

回答

0

使用這個代碼的小優雅的線條從Apache.IO.Utils公共庫

org.apache.commons.io.IOUtils.toString(new URL(requestURL));