Синтаксический анализ ответа XML с помощью JAXB - PullRequest
6 голосов
/ 16 декабря 2010

Я хочу прочитать ответ от вызова веб-службы не-wsdl, используя JAXB. Я отправляю запрос POST, используя HttpURLConnection, и получаю ответ. Мой вопрос заключается в том, чтобы сделать XML-документ из потока ответов, а затем использовать jaxb для создания объектов Java? Или можно использовать use jaxb на лету с потоком ответов? Это будет веб-приложение, и я нигде не смогу хранить сгенерированный XML-документ, поэтому, если мне нужно создать XML-документ, как мне сохранить его для использования в jaxb, если я не могу сделать jaxb на лету

Ответы [ 2 ]

7 голосов
/ 16 декабря 2010

Вот пример:

String uri =
    "http://localhost:8080/CustomerService/rest/customers/1";
URL url = new URL(uri);
HttpURLConnection connection =
    (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/xml");

JAXBContext jc = JAXBContext.newInstance(Customer.class);
InputStream xml = connection.getInputStream();
Customer customer =
    (Customer) jc.createUnmarshaller().unmarshal(xml);

connection.disconnect();

Для получения дополнительной информации см .:

3 голосов
/ 16 декабря 2010

Unmarshaller.unmarshal может принимать InputStream, что устраняет необходимость синтаксического анализа его в XML-документе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...