Chrome теряет сессии при доступе к моему веб-сервису Axis2 - PullRequest
0 голосов
/ 18 ноября 2010

Странно это.У меня есть приложение сервлета, работающее под Tomcat с Axis2.Приложение также предоставляет веб-службу (через Axis2).

Теперь Tomcat без проблем справляется с управлением сеансами, как обычно, однако, когда веб-служба вызывается случайно, все сеансы оказываются недействительными.Плюс, афаик, это происходит только в Chrome!В следующий раз, когда клиент Chrome делает запрос, Tomcat передает ему новый сеанс.

Это происходит после каждого вызова веб-службы, но не влияет на сеансы в Firefox или Safari.

Есть идеи?Это очень сложно для меня.

Заранее спасибо

1 Ответ

0 голосов
/ 18 ноября 2010

Исправлено. Очень странный результат, но часть веб-службы Axis2 оказалась полной красной селедкой. Проблема заключалась в том, что я использовал другой экземпляр Chrome для вызова веб-службы (используя другое веб-приложение).

Это второе приложение работало с тем же URL-адресом, но с другим портом (8080 вместо 80 по умолчанию). Может показаться, что браузеры (не только Chrome) управляют сессиями на основе A. домена (например, www.stackoverflow.com или localhost в моем случае) и B. пути (то есть имени веб-приложения в Tomcat).

Он НЕ делает различий между доменами, работающими на разных портах, поэтому Chrome запутался, когда у меня было открыто два окна: одно указывало на localhost / webapp, а другое - на localhost: 8080 / webapp. Что касается Chrome, то это был один и тот же сайт, и поэтому каждый продолжал перезаписывать идентификатор сеанса другого.

Какой беспорядок!

...