Java response.asXml()始终在Play Framework上返回编码错误

Java response.asXml()始终在Play Framework上返回编码错误,java,playframework,playframework-2.4,Java,Playframework,Playframework 2.4,我正在做play framweork应用程序。 我试图从web服务中获取xml内容。 返回xml,但其编码为EUC-JP。(字符集=euc jp) 我编写了以下代码 WSRequest request = ws.url("http://example.com/api"); WSRequest complexRequest = request.setHeader("Accept", "application/xml") .setContentType("application/x-www-

我正在做play framweork应用程序。 我试图从web服务中获取xml内容。 返回xml,但其编码为EUC-JP。(字符集=euc jp)

我编写了以下代码

WSRequest request = ws.url("http://example.com/api");
WSRequest complexRequest = request.setHeader("Accept", "application/xml")
    .setContentType("application/x-www-form-urlencoded");
Promise<Document> documentPromise = complexRequest.post("key1=value1").map(response -> {
    String name = XPath.selectText("//name", response.asXml());
    System.out.println("name :" + name);
    return response.asXml();
});

如何使用response.asXml获取数据而不出错?

最后,我代表asXml使用了DocumentBuilder,如

Promise-resultPromise=request.post(“key=“+value”).map(响应->{
DocumentBuilder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
ByteArrayInputStream=新的ByteArrayInputStream(response.getBody().getBytes(“euc jp”);
String name=XPath.selectText(“//name”,builder.parse(stream));
System.out.println(“名称:”+name);
返回ok(main.render());
});
[Fatal Error] :xx:xx: Invalid byte 1 of 1-byte UTF-8 sequence.
  Promise<Result> resultPromise = request.post("key=" + value).map(response -> {
    DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    ByteArrayInputStream stream = new ByteArrayInputStream(response.getBody().getBytes("euc-jp"));
    String name = XPath.selectText("//name", builder.parse(stream)));
    System.out.println("name :" + name);

    return ok(main.render());
  });