2010-11-18 16 views
0

Étrange un ceci. J'ai une application de servlet fonctionnant sous Tomcat avec Axis2. L'application expose également un service Web (via Axis2).Chrome perdant des sessions lorsque mon service Web Axis2 est accédé

Maintenant, Tomcat gère la gestion des sessions sans problème, comme d'habitude, cependant, lorsque le service Web est invoqué, de manière aléatoire, toutes les sessions semblent être invalidées. De plus, afaik, cela n'arrive que dans Chrome! La prochaine fois que le client Chrome fait une demande, une nouvelle session lui est transmise par Tomcat.

Cela se produit après chaque appel du service Web, mais n'affecte pas les sessions dans Firefox ou Safari.

Des idées? C'est extrêmement déconcertant pour moi.

Merci d'avance

Répondre

0

L'a corrigé. Résultat très étrange, mais la partie service Axis2/Web était un refrain rouge. Le problème ici était que j'utilisais une autre instance de Chrome pour invoquer le service Web (en utilisant une autre application Web).

Cette deuxième application s'exécutait sur la même URL mais sur un port différent (8080 au lieu de 80 par défaut). Il semblerait que les navigateurs (pas seulement Chrome) gèrent des sessions basées sur A. le domaine (comme www.stackoverflow.com ou localhost dans mon cas) et B. le chemin (ie le nom de l'application web dans Tomcat). Il n'effectue aucune distinction entre les domaines s'exécutant sur des ports différents, par conséquent, Chrome s'est déconcerté lorsque j'ai ouvert deux fenêtres, l'une pointant vers localhost/webapp et l'autre vers localhost: 8080/webapp. En ce qui concerne Chrome, il s'agissait du même site et, par conséquent, chacun écrasait l'ID de session de l'autre.

Quel gâchis!