java - example - Spring-WS: especificando el tipo de contenido
spring soap ws (1)
Sí, su código de filtro fallará porque para cuando doFilter()
finalice, la respuesta se habrá confirmado por completo, y no podrá cambiar el encabezado del tipo de contenido.
Sugiero escribir una subclase de HttpServletResponseWrapper
, anulando los setContentType()
y / o setCharacterEncoding()
para establecer el valor al que desea. A continuación, pasa la instancia del contenedor (que ajusta la respuesta original) al doFilter()
.
Tengo un servicio web Spring basado en AbstractJDomPayloadEndpoint
. Este servicio funciona bien, excepto que mi cliente necesita que el Content-Type
encabezado HTTP se establezca en el juego de caracteres derecho (utf-8 en mi caso). No puedo encontrar dónde puedo configurar eso.
Intenté escribir un Filter
servlet simple:
chain.doFilter(request, response);
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Content-Type", "text/xml; charset=utf-8");
Pero esto no cambia los encabezados en absoluto. Sospecho que el encabezado del tipo de contenido lo establece Spring-WS, y la respuesta está comprometida, por lo que nada de lo que configuro en un filtro tendrá un impacto.
Mi servidor de aplicaciones es WebLogic 9.2.3.