Джерси - заполнить Java-бины из XML-строки - PullRequest
2 голосов
/ 17 июня 2011

У меня есть клиент Jersey, который успешно вызывает службу REST и заполняет связанные Java Beans CustomerType на основе этого кода:

WebResource service = client.resource(SECURE_BASE_URL);.
CustomerType cust = service.path("customer").path("23210")
    .accept(MediaType.TEXT_XML).get(CustomerType.class);

Я хотел бы вызвать службу с

 service.path("customer").path("23210").accept(MediaType.TEXT_XML).get(String.class);

, чтобы получить строку XML и затем преобразовать XML в bean-компонент CustomerType.Я хотел бы сделать это таким образом для регистрации и помочь с проектированием системы.Есть ли способы конвертировать XML в bean-компонент?

Ответы [ 2 ]

4 голосов
/ 17 июня 2011

Есть много способов сделать это.Если ваш класс CustomerType аннотирован JAXB (@XmlRootElement или что-то еще), вы можете просто использовать Unmarshaller, созданный с помощью JAXBContext (который вы ранее инициализировали с помощью ваших пакетов), например:

CustomerType customerType = (CustomerType) jaxbContext.createUnmarshaller()
        .unmarshal( new StringReader(yourString) );
0 голосов
/ 22 июня 2011

Джерси предоставляет фильтр регистрации. Это сообщение отвечает на ваш вопрос.

...