访问我的Axis2网络服务时,Chrome会丢失会话

时间:2010-11-18 12:27:32

标签: session tomcat axis2

奇怪的是这个。我有一个在带有Axis2的Tomcat下运行的servlet应用程序。该应用程序还公开了一个Web服务(通过Axis2)。

现在,Tomcat按照惯例处理会话管理没有问题,但是,当随机调用Web服务时,所有会话似乎都无效。另外,afaik,这只发生在Chrome中! Chrome客户端下次发出请求时,会由Tomcat提交新会话。

每次调用Web服务后都会发生这种情况,但不会影响Firefox或Safari中的会话。

有什么想法吗?这对我来说非常困惑。

提前致谢

1 个答案:

答案 0 :(得分:0)

修正了它。非常奇怪的结果,但Axis2 / Web服务部分是一个完整的红鲱鱼。这里的问题是我使用另一个Chrome实例来调用Web服务(使用不同的Web应用程序)。

此第二个应用程序在相同的URL上运行但在不同的端口上运行(8080而不是默认的80)。似乎浏览器(不仅仅是Chrome)管理基于A.域的会话(例如www.stackoverflow.com或我的情况下的localhost)和B.路径(即Tomcat中的Web应用程序的名称)。 / p>

它没有对在不同端口上运行的域进行任何区分,因此当我打开两个窗口时,Chrome会让自己感到困惑,一个指向localhost / webapp,另一个指向localhost:8080 / webapp。就Chrome而言,它是同一个网站,因此每个网站都会覆盖另一个会话ID。

多么糟糕!