¿Cómo obtener el XML de la solicitud POST y modificarlo en Servlet Filter?

Actualmente estoy trabajando en un requisito donde necesito obtener el XML (de la solicitud POST) en el filtro de servlet antes de que la solicitud llegue al controlador Spring y luego necesito procesar el XML (cortar algunos nodos / elementos vacíos) en el filtro y luego la llamada debe continuar.

Intenté el siguiente código (solo un fragmento adjunto) y pude obtener el cuerpo de la solicitud (XML) y pude configurar la respuesta modificada.

    HttpServletRequest httpRequest = (HttpServletRequest) request;
    HttpServletResponse httpResponse = (HttpServletResponse) response;
    if (httpRequest.getMethod().equalsIgnoreCase("POST")) {
      extractDataFromRequest(httpRequest);
      httpResponse.getWriter().write("<root><root>");
    }
    chain.doFilter(request, wrappedResponse);

   public static String extractDataFromRequest(HttpServletRequest request) throws IOException {

    String line;
    StringBuilder builder = new StringBuilder();
    BufferedReader reader = request.getReader();
    while ((line = reader.readLine()) != null) {
      builder.append(line);
    }
    return builder.toString();
  }

Sin embargo, la primavera falló con la siguiente excepción.

Severe: java.lang.IllegalStateException: PWC3997: getReader() has already been called for this request
    at org.apache.catalina.connector.Request.getInputStream(Request.java:1178)
    at org.apache.catalina.connector.RequestFacade.getInputStream(RequestFacade.java:407)
    at org.springframework.http.server.ServletServerHttpRequest.getBody(ServletServerHttpRequest.java:165)
    at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:120)
    at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:100)

Estoy buscando una implementación concreta para este requisito por parte de expertos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta