0

jUnit テストを作成して、クライアント アプリケーションの XML をフェッチするプロキシ サーブレットが破損や変更なしで XML を返すことを確認しています。

私のjUnitクラスには、プロキシサーブレットへのHTTP getリクエストを実行するdoGetメソッドがあり、最後にGETパラメーターを含む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();
}

ここに私の出力があります:

わかった

200

ヌル

[#ドキュメント: null]

XML ドキュメントである HTTP 応答の文字列値を取得しようとしているので、それを別の文字列と比較して正しいことを確認できます。

この文字列値を取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

Apache.IO.Utils Common Lib のこの小さなエレガントなコード行を使用して解決しました

org.apache.commons.io.IOUtils.toString(new URL(requestURL));
于 2013-04-25T08:17:45.227 に答える