泽西1.18客户端与jaxb

时间:2014-07-31 21:17:45

标签: jaxb jersey jersey-client

我正在尝试使用Jersey 1.18客户端从其他Web服务获取xml数据,然后使用JaxB解组它。问题是我不知道如何将数据直接从Jersey转发到JaxB,代码看起来有点可怕。

Client client = Client.create();
WebResource webResource = client.resource("http://something.com");

    ClientResponse response = webResource.accept("application/json")
               .get(ClientResponse.class);

    if (response.getStatus() != 200) {
       throw new RuntimeException("Failed : HTTP error code : "
        + response.getStatus());
    }

    String output = response.getEntity(String.class);
    JAXBContext jaxbContext = JAXBContext.newInstance(Person.class);
    Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();

    StringReader reader = new StringReader(output);
    Person person = (Person) unmarshaller.unmarshal(reader);

有更优雅的方式吗?我使用泽西岛1.18,因为最新版本拉了很多!依赖关系,我想让我的“客户”真的很轻..

0 个答案:

没有答案