Problema com Filtro Servlet: Não invocado em requisições assíncronas

0 respostas
L

Pessoal,

Estou com problemas para interceptar requisições assíncronas utilizando um Filtro.
Para as requisições síncronas convencionais ele funciona normalmente. Entretando para as requisições via HttpXmlRequest o filtro simplesmente não é invocado.

A configuração é a seguinte:

<filter>  
		<filter-name>encodingFilter</filter-name>
		<filter-class>util.EncodingFilter</filter-class>  
		<init-param>
			<param-name>encoding</param-name>  
			<param-value>ISO-8859-1</param-value>
		</init-param>
	</filter>

	<filter-mapping>  
		<filter-name>encodingFilter</filter-name>  
		<url-pattern>/*</url-pattern>  
	</filter-mapping>

E o código do filter:

package util;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class EncodingFilter implements Filter {

	  private String encoding = "ISO-8859-1";

	  public void doFilter(ServletRequest request,
	      ServletResponse response, FilterChain filterChain)
	      throws IOException, ServletException {

	    request.setCharacterEncoding(encoding);
	    filterChain.doFilter(request, response);
	  }

	  public void init(FilterConfig filterConfig)
		           throws ServletException {
	    String encodingParam = filterConfig
	              .getInitParameter("encoding");
	    if (encodingParam != null) {
	      encoding = encodingParam;
	    }
	  }

	  public void destroy() {
	    // nothing todo
	  }
	}

Qualquer ajuda é bem vinda! :)

Criado 10 de agosto de 2009
Respostas 0
Participantes 1