Tomcat 7 - HTTPOnly - Bad Set-Cookie标头 - 为令牌找不到'='

时间:2014-09-11 21:53:37

标签: java tomcat7 setcookie httponly

我在使用Tomcat 7.0.50的客户端中发现了一个问题。

它说,从SoapUI消费java WebService:

status HTTP 500 - javax.servlet.ServletException: java.lang.RuntimeException: 
Bad Set-Cookie header: JSESSIONID=CDB8F6AAE5CF6DF2FD70359DFF4B7725; Path=/geotrib/; HttpOnly
No '=' found for token starting at position 61(-10001)

在Tomcat 6中,这不会发生,因为" httponly"默认情况下在tomcat 7中为true。

但这怎么可能呢?我们在写入标志的Tomcat上收到此错误。

非常感谢任何帮助。

祝你好运,     费德里科。

1 个答案:

答案 0 :(得分:1)

问题是您的http请求/响应包含" HttpOnly"在它的标题中。似乎应用程序服务器不再支持此值。为了解决这个问题,我写了一个解决方法,其中包括" HttpOnly"从服务器端的响应中删除。

    String header = resp.getHeader("Set-Cookie");
    if (header != null && header.endsWith("HttpOnly")) {
        resp.setHeader("Set-Cookie", header.substring(0, header.length() - 8));
    }

但最好的解决方案是删除" HttpOnly"来自http客户端的标题。