Получить Отправленный XML из объекта HttpServletRequest - PullRequest
9 голосов
/ 28 марта 2011

У меня есть фильтр, который получает HttpServletRequest, и запрос представляет собой POST, который состоит из xml, который мне нужно прочитать в мой метод фильтра. Каков наилучший способ получить отправленный XML из объекта HttpServletRequest.

1 Ответ

6 голосов
/ 31 марта 2011

Это зависит от того, как клиент отправил его.

Если оно было отправлено как необработанное тело запроса, используйте ServletRequest#getInputStream():

InputStream xml = request.getInputStream();
// ...

Если он был отправлен как обычный параметр запроса application/x-www-form-urlencoded, используйте ServletRequest#getParameter():

String xml = request.getParameter("somename");
// ...

Если он был отправлен как загруженный файл в виде части multipart/form-data, используйте HttpServletRequest#getPart().

InputStream xml = request.getPart("somename").getInputStream();
// ...

Это были способы, поддерживаемые стандартным сервлетом API. Другие способы могут потребовать другого или стороннего API (например, SOAP).

...