Boa tarde, pessoal, tenho um problema que ja pesquisei muito, debugei codigo e não descobri o problema.
Em requisições AJAX ou até mesmo normais de um form utilizando POST, as vezes chega no meu servlet sem nenhum parametro, a certeza é que os parametros são enviados, como por exemplo campos dentro do form, mas não consegui descobrir a causa e a solução do problema.
Fiz um filtro na minha aplicação para verificar alguns detalhes do request e seguem:
HTTP Headers:
Method = POST
accept = */*
accept-language = pt-br
pragma = no-cache
referer = xxxx
x-requested-with = XMLHttpRequest
cache-control = no-store, no-cache, must-revalidate, post-check=0, pre-check=0
isajaxrequest = true
content-type = application/x-www-form-urlencoded; charset=UTF-8
if-modified-since = 0
mentaajax-version = 2.6.7
accept-encoding = gzip, deflate
user-agent = Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
host = xxxxx
content-length = 123
connection = Keep-Alive
cookie = JSESSIONID=35F79BCB3732B9A060D81D6A35AB6C09; __utma=159780128.1717620054.1299692412.1313785704.1314205175.6; __utmz=159780128.1314205175.6.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=xxxx; __qca=P0-401862630-1299692425285
e não vem parametros, esta é a forma como gero o log dos parametros:
StringBuilder sbp = new StringBuilder(100);
@SuppressWarnings("unchecked")
Enumeration<String> parameterNames = req.getParameterNames();
while (parameterNames.hasMoreElements()) {
String par = (String) parameterNames.nextElement();
sbp.append(par);
sbp.append(" = ");
sbp.append( req.getParameter(par) );
sbp.append("<br>");
}
E dos headers:
Enumeration<String> headerNames = req.getHeaderNames();
while (headerNames.hasMoreElements()) {
String par = (String) headerNames.nextElement();
sb.append(par);
sb.append(" = ");
sb.append( req.getHeader(par) );
sb.append("<br>");
}
Esta complicado resolver esta charada…
Como sempre isso só esta ocorrendo com IE. FF e Chrome não acontece.