Получить опубликованный XML из объекта HttpServletRequest
У меня есть фильтр, который получает HttpServletRequest, и запрос-это сообщение, которое состоит из xml, который мне нужно прочитать в моем методе фильтра. Каков наилучший способ получить опубликованный xml из объекта HttpServletRequest.
1 ответов
зависит от того, как клиент отправил его.
если он был отправлен как тело запроса raw, то используйте 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).