Conseils pour l'identification et la résolution des problèmes liés au gestionnaire de sessions HTTP
Suivez ces conseils pour identifier et résoudre les problèmes rencontrés lors de la création ou de l'utilisation de sessions HTTP avec votre application Web hébergée par WebSphere Application Server.
Consultez les informations Incidents de session HTTP pour voir si votre problème spécifique est décrit.
Voir les fichiers journaux de la JVM du serveur d'applications qui héberge l'application qui pose problème :
- Examinez les messages inscrits au démarrage de chaque application. Référez-vous plus particulièrement aux messages
figurant entre les deux messages suivants :
Starting application: application ..................... Application started: application
- Dans ce bloc, cherchez les erreurs ou les exceptions contenant le nom de module com.ibm.ws.webcontainer.httpsession. Si vous n'en trouvez pas, cela signifie que le gestionnaire de sessions a correctement démarré.
- Le message d'erreur SRVE0054E: Une erreur s'est produite lors du chargement du contexte de session et de l'application Web indique que le gestionnaire de sessions n'a pas démarré correctement pour une application donnée.
- Recherchez dans les journaux les messages afférents au gestionnaire de sessions. Leur clé est au format SESNxxxxE pour les messages d'erreur et au format SESNxxxxW pour les messages d'avertissement (xxxx étant le numéro de l'erreur). Examinez les définitions détaillées d'erreur dans la table des messages du gestionnaire de sessions.
- Examinez les messages inscrits au démarrage de chaque application. Référez-vous plus particulièrement aux messages
figurant entre les deux messages suivants :
Voir les journaux du serveur d'applications qui héberge l'application qui pose problème :
- Examinez les messages inscrits au démarrage de chaque application. Référez-vous plus particulièrement aux messages
figurant entre les deux messages suivants :
Starting application: application ..................... Application started: application
- Dans ce bloc, cherchez les erreurs ou les exceptions contenant le nom de package com.ibm.ws.webcontainer.httpsession. Si vous n'en trouvez pas, cela signifie que le gestionnaire de sessions a correctement démarré.
- Le message d'erreur SRVE0054E: Une erreur s'est produite lors du chargement du contexte de session et de l'application Web indique que le gestionnaire de sessions n'a pas démarré correctement pour une application donnée.
- Recherchez dans les journaux les messages afférents au gestionnaire de sessions. Leur clé est au format SESNxxxxE pour les messages d'erreur et au format SESNxxxxW pour les messages d'avertissement (xxxx étant le numéro de l'erreur). Examinez les définitions détaillées d'erreur dans la table des messages du gestionnaire de sessions.
- Examinez les messages inscrits au démarrage de chaque application. Référez-vous plus particulièrement aux messages
figurant entre les deux messages suivants :
Reportez-vous à Meilleures pratiques pour l'utilisation des sessions HTTP.
Pour afficher dynamiquement le nombre de sessions en cours d'exécution d'une application Web, activez le contrôle des performances pour les sessions HTTP. Le contrôle des performances aide à déterminer si les sessions sont effectivement créées.
Pour savoir comment afficher les compteurs de sessions HTTP en cours d'exécution de l'application, voir Contrôle des performances à l'aide de Tivoli Performance Viewer (antérieurement appelé Resource Analyzer).
- Vous pouvez aussi appeler un servlet spécial qui affiche la configuration
et les statistiques en cours afférentes au suivi de la session.
Ce servlet détient tous les compteurs de l'outil de contrôle des performances plus quelques autres compteurs.
- Nom du servlet : com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug.
- Vous pouvez appeler ce servlet à partir de n'importe quel module Web activé pour servir par nom de classe. Par exemple, en utilisant default_app, http://localhost:9080/servlet/com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug.
- Si vous visualisez le module avec la fonction de service par nom de classe (serve by class name), n'oubliez pas qu'il peut alors être vu par toute personne capable d'afficher l'application. Mieux vaut mapper une URL spécifique et sécurisée au servlet et désactiver le paramètre Servir les servlets par nom de classe.
Activer le traçage pour le composant HTTP Session Manager.
La trace suivante peut aider à diagnostiquer les problèmes :- Si vous n'utilisez pas la persistance :
com.ibm.ws.session.*=all: com.ibm.ws.webcontainer.srt.*=all
- Si vous utilisez la persistance de base de données :
com.ibm.ws.session.*=all: com.ibm.ws.webcontainer.srt.*=all: WAS.j2c=all: RRA=all: WAS.Database=all
- Si vous utilisez la persistance de mémoire à mémoire :
com.ibm.ws.session.*=all: com.ibm.ws.webcontainer.srt.*=all: com.ibm.ws.drs.*=all
- Si vous n'utilisez pas la persistance :
Si vous utilisez des sessions persistantes basées sur une base de données, cherchez les incidents liés à la source de données sur laquelle s'appuie le gestionnaire de sessions pour gérer les information d'état de la session. Pour plus de détails sur la détection d'incidents liés à la base de données, reportez-vous à Erreurs lors de l'accès à une source de données ou à un pool de connexions
Message d'erreur SRVE0079E Hôte de servlet introuvable après la définition d'un port
- Dans la console d'administration, sélectionnez Environnement > Hôtes virtuels > hôte_par_défaut> Alias d'hôte > Nouveau
- Définissez le nouveau port sur l'hôte "*"
Le serveur d'applications obtient un arrêt anormal de type EC3 - 04130007
Pour prévenir les arrêts anormaux de ce type, modifiez la valeur du délai d'expiration de la sortie HTTP. La propriété personnalisée ConnectionResponseTimeout indique le nombre maximal de secondes au cours desquelles le port HTTP d'un serveur peut attendre pendant la tentative de lecture et d'écriture des données. Pour connaître les instructions de définition de ConnectionResponseTimeout, voir la rubrique Propriétés personnalisées du canal de transport HTTP.
Si ces étapes ne corrigent pas le problème, vérifiez dans le support disponible en ligne (conseils et astuces, notes techniques et correctifs) s'il a été identifié et documenté. S'il n'est pas fait mention de votre problème sur ce site, contactez le support IBM.
Pour toutes les dernières informations disponibles auprès du support technique IBM sur les incidents recensés et leur résolution, accédez à la page IBM Support.
Le support technique d'IBM possède des documents permettant de gagner du temps lors de la collecte des informations requises pour résoudre ce problème. Avant d'ouvrir un PMR, consultez la page IBM Support du serveur qui héberge la ressource à laquelle vous tentez d'accéder.