我在使用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上收到此错误。
非常感谢任何帮助。
祝你好运, 费德里科。
答案 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客户端的标题。