Dépannage: Websphere MQ

Vous pouvez utiliser des solutions de contournement aux problèmes que vous pourriez rencontrer lorsque vous utilisez IBM® WebSphere® MQ avec IBM DevOps Test Integrations and APIs (Test Integrations and APIs).

Table 1. Dépannage de Websphere MQ
ProblèmeDescriptionSolution
WebSphere MQ error 2009 (MQRC_CONNECTION_BROKEN) Lorsque vous utilisez un éditeur, si l'erreur Publish Error putting (publishing) message - An error occurred while putting the message on the queue "default". Cause: MQJE001: Completion Code 2, Reason 2009 s'affiche, vérifiez que tous les détails du transport sont corrects et que le bon gestionnaire de files d'attente est connecté.Une raison courante de cette erreur est que le canal du gestionnaire de files d'attente n'est pas configuré correctement.Ce canal doit être configuré en tant que canal de connexion au serveur et disposer des droits d'accès appropriés qui lui sont appliqués.

Pour plus d'informations, voir 2009 (07D9) (RC2009): MQRC_CONNECTION_BROKEN.

WebSphere MQ erreur 2035 (MQRC_NOT_AUTHORIZED)

(1) Lorsque vous utilisez l'une des opérations de messagerie, l'accès à la file d'attente est effectué ; si les paramètres de la file d'attente diffèrent des valeurs par défaut de l'application, vous devez remplacer les valeurs. Les valeurs réelles peuvent être obtenues en contactant le support IBM ou à partir de la documentation. Par défaut, WebSphere MQ 7.1 a plus de paramètres de sécurité.

(2) Authentification d'un client Java auprès du WebSphere MQ le gestionnaire de files d'attente échoue lorsque la longueur du mot de passe d'authentification est supérieure à 12 caractères.

(1) Assurez-vous que l'autorisation de l'utilisateur est correctement configurée pour accéder à la file d'attente des messages.

(1) Un moyen rapide de surmonter la plupart des erreurs d'autorisation consiste à configurer le canal de connexion du serveur pour utiliser le canal approprié. WebSphere MQ compte utilisateur administrateur (ou mqm, si vous utilisez des systèmes de type Unix), qui dispose de privilèges pour accéder à la plupart des objets.

(2) Ajouter le Use MQCSP authentication propriété et définissez sa valeur sur true dans le WebSphere MQ paramètres des messages de transport. Pour plus d'informations sur cette propriété, voir Authentification de connexion avec le client Java.

WebSphere MQ erreur 2033 (MQRC_NO_MSG_AVAILABLE)WebSphere MQ l'enregistrement échoue avec une erreur MQRC_NO_MSG_AVAILABLE [MQRC.2033].L'enregistrement démarre à l'aide de l'ID utilisateur et du mot de passe configurés sur le WebSphere MQ Transport physique du serveur. Si aucun n'est configuré, l'ID utilisateur et le mot de passe Windows utilisés pour se connecter à Test Integrations and APIs sont utilisés pour démarrer l'enregistrement.
WebSphere MQ erreur 2042 (MQRC_OBJECT_IN_USE)

Si un stub tente de lire à partir d'un WebSphere MQ file d'attente locale, une erreur du format suivant peut s'afficher: [Error] Instance 1: Receive Request:"MQ Message" on queue "RIT_TARGET" using schema "MQ Message" via "winmvs3i_MQ71" Error accessing queue (RIT_TARGET): MQRC_OBJECT_IN_USE [MQRC.2042].

  • Dans WebSphere MQ, une file d'attente peut être ouverte de l'une des manières suivantes:
    • Accès par défaut, qui utilise la définition par défaut de la file d'attente pour le type d'accès.
    • Accès exclusif, ce qui signifie que les applications qui ouvrent la file d'attente pour la saisie ont un accès exclusif aux messages de la file d'attente.
    • Accès partagé, ce qui signifie que n'importe quel nombre d'applications qui ouvrent une file d'attente pour la saisie peuvent accéder aux messages de la file d'attente.
  • Pour les stubs, afin de garantir un débit plus élevé, Test Integrations and APIs utilise plusieurs connexions à un gestionnaire de files d'attente. Si une file d'attente a été ouverte avec accès exclusif, toute autre tentative d'ouverture de cette file d'attente, à partir de la même application ou d'autres applications, entraînera l'erreur MQRC_OBJECT_IN_USE. Des exemples de files d'attente ouvertes avec un accès exclusif sont lorsqu'une application qui a ouvert la file d'attente (dans ce cas, Test Integrations and APIs) a explicitement demandé un accès exclusif, ou lorsque l'application a utilisé l'accès par défaut et que l'objet de file d'attente a été configuré avec exclusif comme option d'accès par défaut.

Pour plus d'informations, voir 2042 (07FA) (RC2042): MQRC_OBJECT_IN_USE.

WebSphere MQ erreur 2374 (MQRC_API_EXIT_ERROR)Cette erreur indique qu'une fonction de sortie d'API a renvoyé un code de réponse non valide ou a échoué d'une autre manière. La cause la plus probable de cette erreur est qu'un fichier d'exit d'API a été copié dans le répertoire incorrect du serveur qui exécute le gestionnaire de files d'attente censé utiliser l'exit d'API.

Pour plus d'informations, voir Installation et configuration DevOps Test Integrations and APIs L'API se ferme et 2374 (0946) (RC2374): MQRC_API_EXIT_ERROR.

Impossible de modifier le transport ou le formateur indisponible

Il est probable que Library Manager n'a pas été utilisé pour configurer les fichiers JAR requis.

Utilisez le gestionnaire de bibliothèque pour configurer les fichiers. Voir Utilisation de Library Manager.
Les messages ne sont pas enregistrés lorsque vous utilisez des sorties d'API

Lorsque vous démarrez l'enregistrement des files d'attente et que vous utilisez l'exit API Test Integrations and APIs, Test Integrations and APIs configure automatiquement le gestionnaire de files d'attente afin qu'il place des copies des messages dans les files d'attente utilisées par Test Integrations and APIs. Toutefois, cette configuration s'appliquera uniquement aux connexions établies au gestionnaire de files d'attente après le démarrage de l'enregistrement.

Si un processus maintient une connexion au gestionnaire de files d'attente avant le début de l'enregistrement, vous ne voyez pas les événements placés dans ces files d'attente. Selon la façon dont vos applications de publication sont écrites, vous devez les redémarrer après le démarrage de l'enregistrement.

Test Integrations and APIs ajoute des files d'attente de réponses à celles enregistrées automatiquement lorsqu'il voit un message envoyé avec une file d'attente de réponses. Toutefois, si l'abonné dispose déjà d'une connexion ouverte au gestionnaire de files d'attente, vous ne la voyez pas dans Recording Studio lorsqu'il place une réponse dans la file d'attente de réponses. Le redémarrage de l'abonné après avoir traité un message peut contourner ce problème. Vous pouvez également utiliser l'option Enregistrer le transport pour enregistrer toutes les files d'attente.

Pour plus d’informations sur les exits API fournis avec Test Integrations and APIs, voir Installation et configuration DevOps Test Integrations and APIs L'API se ferme.
Note:
Si WebSphere MQ les sorties sont utilisées, le WebSphere MQ les messages déjà dans la file d'attente ne sont pas traités. Vous pouvez soit enregistrer les messages, soit le stub peut traiter uniquement les nouveaux messages publiés après le démarrage de l'opération.
RIT8806E Échec du démarrage de la route proxy: une exception s'est produite lors de l'ajout d'une règle à la liste de noms de règles [rit.divert.rules]

Lorsque vous utilisez une file d'attente pour le mécanisme de verrouillage de mise à jour du stub, le stub ne démarre pas avec RIT8806E affiché

Pour trouver la cause, accédez à la console JVM pour voir le message suivant.

AVERTISSEMENT: impossible de verrouiller la liste de noms car impossible d'accéder à la file d'attente: rit.divert.rules_LCK com.ibm.mq.MQException: MQJE001: code d'achèvement « 2 », motif « 2085 ».

En tant qu'administrateur, créez la file d'attente nommée dans la console JVM ou donnez à l'utilisateur RIT suffisamment d'autorité pour créer des files d'attente.

Notez que dans le premier cas, où le gestionnaire de files d'attente se trouve dans un groupe de partage de files d'attente, une file d'attente partagée doit être créée.

WebSphere MQ Erreur 2045 (MQRC_OPTION_NOT_VALID_FOR_TYPE)Si votre mode de stubbing est défini sur direct et que vous tentez d'exécuter un stub où la file d'attente des requêtes est une file d'attente distante, le stub échouera avec cette erreur. Pour d'autres scénarios susceptibles de provoquer un code anomalie MQ 2045, consultez le WebSphere MQ Documentation.Si la file d'attente des requêtes est une file d'attente distante, modifiez le mode de stubbing pour utiliser la fonctionnalité de filtrage et de transmission. Pour plus d’informations, voir En utilisant WebSphere MQ transports sur des plateformes distribuées pour tester le trafic vers et depuis WebSphere MQ sur z/OS.
WebSphere MQ Erreur 2085 (MQRC_UNKNOWN_OBJECT_NAME)Si vous tentez d'exécuter un stub où se trouve la file d'attente des demandes sur un gestionnaire de files d'attente distant, cette erreur peut s'afficher si votre opération n'est pas configurée correctement ou si le mode de stubbing est défini sur direct.Assurez-vous que le mode stubbing est défini pour utiliser la fonctionnalité de filtrage et de transmission et assurez-vous que l'opération est définie conformément aux directives de En utilisant WebSphere MQ transports sur des plateformes distribuées pour tester le trafic vers et depuis WebSphere MQ sur z/OS.
The field found in the received message was unexpected (Action = "Validate Message Children")À partir de Test Integrations and APIs 10.0.0, Test Integrations and APIs capture les attributs spécifiés dans les dossiers définis par l'utilisateur RFH2. Si vous avez créé un WebSphere MQ test de demande/réponse dans les versions antérieures à Test Integrations and APIs 10.0.0, et que vous avez exécuté ce test en utilisant Test Integrations and APIs 10.0.0, et que le message de réponse contient des attributs dans un dossier défini par l'utilisateur RFH2, vous recevez ce message.Modifiez l'étape de test de réception de réponse, sélectionnez le dossier dans MQRFH2 et sélectionnez le Ignorer les champs supplémentaires dans le message reçu case à cocher.

Une autre solution consiste à recréer l’étape de test en utilisant Test Integrations and APIs 10.0.0 ou supérieur.

Les messages avec des en-têtes MQCIH sont transmis de manière incorrecte par des stubs avec un message similaire à celui-ci: Message Case: "MQ Message" using schema "MQ Message" "/CIHv1/Encoding" - Expected value "785", found value "0" (Action = "Equality"), trying next..Selon WebSphere MQ documentation, le champ de codage dans le MQCIH est réservé. Voir Encodage (MQLONG). Le champ étant réservé à une utilisation future par IBM, il est préférable de ne pas filtrer sur ce champ.Modifiez le stub afin qu'aucun filtrage ne soit effectué sur le champ de codage MQCIH.