java - example - Obtener XML publicado desde el objeto HttpServletRequest
servlet security filter example (1)
Tengo un filtro que recibe HttpServletRequest y la solicitud es una POST que consta de un xml que necesito leer en mi método de filtro. ¿Cuál es la mejor forma de obtener el xml publicado del objeto HttpServletRequest?
Eso depende de cómo el cliente lo haya enviado.
Si se envió como el cuerpo de solicitud sin ServletRequest#getInputStream()
, entonces use ServletRequest#getInputStream()
:
InputStream xml = request.getInputStream();
// ...
Si se ha enviado como un parámetro de solicitud normal application/x-www-form-urlencoded
, entonces use ServletRequest#getParameter()
:
String xml = request.getParameter("somename");
// ...
Si ha sido enviado como un archivo cargado en el sabor de una parte multipart/form-data
, entonces use HttpServletRequest#getPart()
.
InputStream xml = request.getPart("somename").getInputStream();
// ...
Esa fue la forma admitida por la API servlet estándar. Otras formas pueden requerir una API diferente o de un tercero (por ejemplo, SOAP).