java Play Framework:将服务器的响应解析为Xml返回空文档
我有一个Play web应用程序,可以向服务器发出HTTP请求
请求进行得很顺利:我得到了一个200状态码和Content type=“application/xml”的响应
如果我打印到stdout响应体,我会看到一个格式良好的Xml文档
然而,如果我试图创建一个组织。w3c。多姆。来自响应的XML文档 使用WSResponse。asXml(),该方法返回一个空文档
以下是我的代码的相关部分:
private WSResponse sendPostRequest(String url, String body) {
WSRequest request = WS.url(url);
request.setHeader("Content-type", "application/x-www-form-urlencoded");
return request.post(body).get(5000L);
}
以及:
public Result requestDefaultImport() {
String url = "some_url";
String body = "some_body";
WSResponse response = sendPostRequest(url, body);
System.out.println(response.getBody()); //prints well-formed Xml
Document xmld = response.asXml();
System.out.println(xmld); //prints: #[null document]
return ok();
}
我做错了什么
# 1 楼答案
请尝试以下代码:
或者,如果从肥皂中消费:
# 2 楼答案
据我所知,你正在打印字符串
System.out.println(response.getBody());
但是,您正在打印一个组织。w3c。多姆。文件位于
有关将文档转换为字符串的解决方案,请访问
How do I convert a org.w3c.dom.Document object to a String?