Conseils de résolution des incidents WS-ReliableMessaging

Cette rubrique contient des conseils permettant de résoudre les incidents liés à la configuration WS-ReliableMessaging.

Remarque : Cette rubrique fait référence à un ou plusieurs des fichiers journaux de serveur d'applications. Il est recommandé de configurer le serveur de telle sorte qu'il utilise l'infrastructure de journalisation et de trace HPEL (High Performance Extensible Logging) à la place des fichiers SystemOut.log, SystemErr.log, trace.log et activity.log sur les systèmes distribués et IBM® i. Vous pouvez également utiliser HPEL conjointement avec vos fonctions de journalisation z/OS natives. Si vous utilisez l'infrastructure HPEL, vous pouvez accéder à toutes les informations de journalisation et de trace en utilisant l'outil de ligne de commande LogViewer à partir de votre répertoire bin de profil de serveur. Pour plus d'informations sur l'utilisation de HPEL, voir les informations sur l'utilisation de HPEL en vue du traitement des incidents liés aux applications.

Pour faciliter l'identification et la résolution des incidents liés à WS-ReliableMessaging, vous pouvez utiliser les fonctions de trace et de consignation de WebSphere Application Server. Si vous utilisez des outils basés Eclipse, vous pouvez également utiliser le moniteur TCP/IP dans Eclipse pour visualiser les messages qui circulent entre vos applications client et les services Web prenant en charge la messagerie fiable.

Pour activer la trace pour WS-ReliableMessaging, définissez la chaîne de trace du serveur d'applications en procédant comme suit :
  • Pour l'une ou l'autre des qualités de service gérées :
    org.apache.sandesha2*=all=enabled:com.ibm.ws.websvcs.rm*=all=enabled:org.apache.axis2*=all=enabled:com.ibm.ws.sib.wsrm*=all=enabled
  • Pour la qualité de service non permanente non gérée :
    org.apache.sandesha2*=all=enabled:com.ibm.ws.websvcs.rm*=all=enabled:org.apache.axis2*=all=enabled
Si vous rencontrez un problème qui semble être lié à WS-ReliableMessaging, vous pouvez vérifier si la console d'administration de WebSphere Application Server et le fichier SystemOut.log du serveur d'applications contiennent des messages d'erreur. Vous pouvez également activer la trace de débogage du serveur d'applications pour fournir un vidage détaillé des exceptions.

Pour obtenir la liste des principales restrictions connues qui s'appliquent lors de l'utilisation de WS-ReliableMessaging, voir WS-ReliableMessaging - Limitations connues.

Les messages système WebSphere Application Server sont journalisés à partir de nombreuses sources, y compris les applications et composants de serveur d'applications. Les messages consignés par les composants du serveur d'applications et associés aux produits IBM démarrent par un identificateur de message unique qui spécifie le composant ou l'application qui a émis le message. Le préfixe du composant WS-ReliableMessaging est CWSKA.

Le document Troubleshooter reference: Messages contient des informations sur tous les messages WebSphere Application Server, indexés par préfixe de message. Une explication de l'incident et des détails sur les éventuelles actions à entreprendre pour résoudre l'incident sont fournis pour chaque message.

Voici quelques conseils pour vous aider à identifier et à résoudre les incidents les plus courants :

Si une séquence est réallouée, il est possible que plus de séquences que prévues soient visibles.

Lorsque vous examinez l'état d'exécution des séquences entrantes et sortantes, un plus grand nombre de séquences que la normale peut s'afficher du fait de la réallocation de séquence.

Si une séquence est réallouée, les séquences d'origine et les nouvelle séquences sont visibles. Ignorez les entrées en double.

[AIX Solaris HP-UX Linux Windows][IBM i]

Si vous utilisez le protocole de messagerie fiable sur un cluster, quand vous examinez l'état d'exécution des séquences entrantes et sortantes, vous voyez plusieurs entrées pour chaque séquence

La raison est la suivante : Bien que la messagerie fiable n'est associée qu'à un seul moteur de messagerie dans un cluster, le panneau d'exécution calcule et affiche les informations des séquences une fois pour chaque membre du cluster. Ignorez les entrées en double. Notez que les faibles différences visibles dans les statistiques affichées pour chaque entrée en double viennent du fait que les entrées sont créées de manière séquentielle tandis que l'interrogation des messages continue.

[z/OS]

Quand vous examinez l'état d'exécution des séquences entrantes et sortantes, vous voyez plusieurs entrées pour chaque séquence

La raison est la suivante : Bien que la messagerie fiable n'est associée qu'à un seul moteur de messagerie, le panneau d'exécution calcule et affiche les informations des séquences une fois pour chaque région serviteur. Ignorez les entrées en double. Notez que les faibles différences visibles dans les statistiques affichées pour chaque entrée en double viennent du fait que les entrées sont créées de manière séquentielle tandis que l'interrogation des messages continue.

Des erreurs d'exécution se produisent lorsque vous faites migrer des messages WS-ReliableMessaging à partir de la version 6.1.0.9 ou 6.1.0.11.

Si vous migrez de la version 6.1 de WebSphere Application Server et que vous utilisez la version 6.1.0.9 ou 6.1.0.11 de Feature Pack for Web Services, et si WS-ReliableMessaging est configuré pour la qualité de service permanente gérée, vous devez supprimer tous les messages conservés avant de migrer.

Chaque message est conservé comme élément d'une séquence actuellement en cours de traitement. Pour supprimer tous les messages conservés, effectuez les étapes suivantes à partir de la console d'administration :
  1. Naviguez jusqu'au panneau d'exécution Collection de séquences entrantes pour votre application de messagerie fiable.
  2. Sélectionnez toutes les séquences entrantes, puis cliquez sur Supprimer la séquence et les messages pour supprimer les séquences.
  3. Naviguez jusqu'au panneau d'exécution Collection de séquences sortantes, puis répétez les précédentes étapes pour les séquences sortantes.

Lorsqu'un serveur d'applications démarre, un moteur de messagerie utilisé pour la messagerie fiable est signalé comme étant indisponible

Lors de l'utilisation d'une messagerie fiable dont la qualité de service est gérée, le message d'exception suivant risque d'apparaître lors du démarrage du serveur d'applications :

CWSIT0019E : Aucun moteur de messagerie approprié n'est disponible sur le bus votreBus correspondant aux propriétés de connexion spécifiées

Dans un environnement de déploiement réseau, cet incident peut se produire car le moteur de messagerie se trouve sur un serveur d'applications ou un membre de cluster qui a démarré après le serveur qui héberge votre application de messagerie fiable. Dans ce cas, il vous suffit de patienter ; la messagerie fiable continue ses tentatives de connexion jusqu'à ce que le moteur de messagerie soit disponible.

Si vous pensez qu'un incident sous-jacent s'est produit, par exemple, les liaisons sont incorrectes ou le serveur hébergeant le moteur de messagerie ne va pas démarrer, effectuez les vérifications suivantes :
  • Vérifiez que le moteur de messagerie indiqué et le bus d'intégration de services existent.
  • Consultez le journal de sortie système pour vous assurer que le serveur hébergeant le moteur de messagerie a démarré.

Une application client ne peut pas appeler un service Web prenant en charge la messagerie fiable

Si votre application client ne peut pas appeler un service Web prenant en charge la messagerie fiable, vous pouvez utiliser le moniteur TCP-IP pour visualiser les messages qui circulent entre le client et le service. Vous devez également vérifier ce qui suit :

Une séquence n'est pas établie et WS-ReliableMessaging ne peut pas garantir la transmission des messages

Après l'établissement d'une séquence, WS-ReliableMessaging assure la retransmission des messages à un service. Cependant, si la séquence n'est pas établie, les messages ne sont pas transmis au service et un message similaire à l'exemple suivant s'affiche :

org.apache.axis2.AxisFault: The Create Sequence request has been refused by the RM Destination

Le message createSequence initial a été refusé. Il est renvoyé et donne lieu à l'échec du client. Pour plus d'informations sur CreateSequence et CreateSequenceRefused, voir la rubrique WS-ReliableMessaging : spécifications et normes prises en charge.

Un message expliquant la raison pour laquelle la demande a été refusée peut également s'afficher ultérieurement. Exemple :

Motif : javax.xml.ws.soap.SOAPFaultException: com.ibm.ws.sib.wsrm.exceptions.WSRMRuntimeException: 
CWSJZ0202I : Aucune connexion au moteur de messagerie n'est disponible pour le bus monBus
.
Un incident s'est produit au niveau de votre configuration de messagerie fiable. Effectuez les contrôles suivants :
  • Vérifiez que les ensembles de règles sont correctement appliqués. Vérifiez notamment que la messagerie fiable est correctement activée pour la destination.
  • Consultez les journaux pour les incidents côté serveur.
  • Pour la qualité de service permanente gérée, vérifiez que le moteur de messagerie associé est disponible.
Pour les autres contrôles destinés à vous aider à résoudre l'incident, reportez-vous aux rubriques de conseils suivantes pour l'identification des incidents :

Une séquence est établie mais ne peut pas être utilisée et WS-ReliableMessaging ne peut pas garantir la transmission des messages

Si une exception telle que la suivante est émise, cela signifie que la séquence est établie mais ne peut pas être utilisée :

javax.xml.ws.WebServiceException: org.apache.axis2.AxisFault: L'identificateur wsrm:Identifier n'est pas un identificateur de séquence connu.
.

Le motif le plus courant est que vous travaillez dans un environnement à clusters et que votre ensemble de règles côté serveur indique la qualité de service non permanente non gérée. Par exemple : l'ensemble de règles par défaut WS-I RSP spécifie la qualité de service non permanente non gérée. Pour utiliser la messagerie asynchrone dans un environnement à clusters, vous devez utiliser une qualité de service gérée pour permettre aux membres des clusters de corréler l'état de la messagerie fiable. Pour ce faire, utilisez l'ensemble de règles par défaut WS-I RSP ND ou modifiez votre ensemble de règles personnalisées de façon à ce que la règle WS-ReliableMessaging spécifie une qualité de service gérée et une liaison associée à un bus d'intégration de service et à un moteur de messagerie. Pour plus d'informations sur la procédure à suivre, voir Configuration d'un ensemble de règles WS-ReliableMessaging à l'aide de la console d'administration et Association et liaison d'un ensemble de règles WS-ReliableMessaging à une application de services Web à l'aide de la console d'administration.

Pour d'autres contrôles pouvant vous aider à résoudre l'incident, reportez-vous également aux conseils suivants pour l'identification des incidents :

Le magasin géré de la messagerie fiable n'est pas initialisé car la liaison d'ensemble de règles est incomplète ou non valide

Si l'ensemble de règles indique une qualité de service gérée et que vous n'avez pas défini de liaison vers un moteur de messagerie pour la prise en charge de cette qualité de service, le message d'exception suivant est émis :

CWSKA0102E : Le gestionnaire de stockage de messagerie fiable de services Web n'a pas pu être initialisé car la liaison de l'ensemble de règles est incomplète ou non valide
.

Vous avez peut-être rattaché un ensemble de règles géré à votre application et vous avez utilisé les liaisons par défaut (qui ne prennent pas en charge les qualités de service gérées). Vous devez créer pour votre application une liaison qui spécifie un bus d'intégration de service et un moteur de messagerie pour la prise en charge des qualités de service gérées. Pour ce faire, voir Association et liaison d'un ensemble de règles WS-ReliableMessaging à une application de services Web à l'aide de la console d'administration.

La messagerie fiable est interrompue car un serveur est indisponible

La mise en clusters offre une protection maximale contre l'indisponibilité des serveurs. Elle fournit des noeuds finaux de service à haute disponibilité, ainsi que la haute disponibilité (via le bus d'intégration de service) de la couche messagerie fiable.

Pour plus d'informations sur la configuration de la haute disponibilité des services web et des moteurs de messagerie, voir Equilibrage des charges de travail et Ajout d'un moteur de messagerie dans un cluster.

Erreurs de dépassement de délai de socket lors de l'exécution de plusieurs applications client de messagerie fiable dans un cluster

Lorsque de nombreuses applications utilisent le même moteur de messagerie, cela peut avoir une incidence sur les performances et, dans certains cas, conduire à des erreurs de dépassement de délai.

Pour plus d'informations sur la configuration de la haute disponibilité des services web et des moteurs de messagerie, voir Equilibrage des charges de travail et Ajout d'un moteur de messagerie dans un cluster.

Un message n'est pas récupéré une fois qu'un serveur n'est plus disponible

Lorsque la couche messagerie fiable reçoit un message de demande, elle envoie un accusé de réception puis distribue le message au service cible. Il est possible que le serveur hébergeant la couche messagerie fiable ne soit plus disponible après l'accusé de réception du message de demande et avant la distribution de ce dernier. Dans ce cas, le message est uniquement récupéré si vous utilisez une distribution dans l'ordre, ainsi qu'une qualité de service permanente gérée. Pour définir la distribution dans l'ordre, sélectionnez l'option de règle WS-ReliableMessaging "Distribuer les messages dans l'ordre dans lequel ils ont été envoyés", comme décrit dans la rubrique Configuration de la règle WS-ReliableMessaging.

Remarque : Il y a une surcharge des performances lors de l'utilisation de la distribution dans l'ordre, car les messages sont mis en file d'attente jusqu'à ce qu'ils puissent être distribués dans l'ordre. Cependant, lorsque le niveau de fiabilité maximal est nécessaire, il est conseillé de spécifier systématiquement la distribution dans l'ordre conjointement avec la qualité de service de persistance géré.

Un message d'exception indique que le jeton de contexte de sécurité n'est pas valide

Lors de l'utilisation de la messagerie fiable à l'aide d'un profil WS-I RSP persistant et de WS-SecureConversation, un message d'exception indique que le jeton de contexte de sécurité n'est pas valide.

Si vous utilisez un ensemble de règles WS-I RSP persistant, lequel comprend WS-SecureConversation, et si le jeton de sécurité destiné à la configuration est arrivé à expiration lors du redémarrage du serveur, WS-ReliableMessaging ne peut pas renvoyer ses messages. Les messages système sont consignés dans le fichier journal et indiquent que la séquence de messagerie fiable n'a pas été sécurisée avec le jeton de sécurité approprié. Par exemple :
CWWSS7215E : Impossible d'obtenir un jeton de contexte de sécurité valide à partir de la mémoire cache.

Pour vous assurer que le jeton de contexte de sécurité de sectorisation n'arrive pas expiration avant que WS-ReliableMessaging récupère et re-transmette ses messages, effectuez la tâche suivante : Configuration de WS-SecureConversation de manière à ce qu'elle soit compatible avec WS-ReliableMessaging.

[z/OS]

Une région de serviteur subit une fin anormale d'expiration lorsque vous utiliser une qualité de service géré.

Cette situation peut être provoquée par la valeur de la propriété personnalisée sib.wsrm.tokenLockTimeout qui est trop élevée. Cette propriété est définie dans le moteur de messagerie spécifié dans la liaison de règle WS-ReliableMessaging. La valeur doit être inférieure au délai d'attente de la région de contrôle avant l'arrêt d'une région de serviteur inactive. Pour plus d'informations sur cette propriété, voir Propriétés personnalisées d'intégration de services.


Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsrm_prob0
Nom du fichier : rwbs_wsrm_prob0.html