Création de catalogues de messages

Créez vos propres catalogues de messages pour écrire des entrées personnalisées dans le journal des erreurs local.

A propos de cette tâche

Dans certaines erreurs et dans d'autres situations, vous pouvez choisir d'écrire des informations dans le journal des erreurs afin de pouvoir suivre ce qui se passe dans un flux de messages. Vous pouvez utiliser les noeuds intégrés Emettre et Trace pour générer des entrées dans le journal, ou vous pouvez créer vos propres noeuds et exits utilisateur, et écrire des entrées dans le journal à partir de vos extensions définies par l'utilisateur.

Vous pouvez écrire l'un des ensembles de messages suivants ou les deux:
  • Ensemble fixe de messages fournis dans le catalogue de messages du produit. Cet ensemble fournit une plage de nombres pour les noeuds Throw (BIP3001 to BIP3049) et une seconde plage pour les noeuds Trace (BIP3051 to BIP3099). Une troisième plage (BIP2951 à BIP2999) est fournie pour les instructions ESQL LOG et THROW.

    Lorsque vous utilisez ces messages, vous pouvez également fournir du texte supplémentaire qui s'affiche dans le texte du message.

  • Vos propres messages, créés dans votre propre catalogue de messages. Vous pouvez utiliser ce catalogue supplémentaire pour définir un contenu de message spécialisé et inclure des variables ou des insertions déterminées par le code qui génère le message. Vous pouvez également partager votre propre catalogue de messages avec d'autres applications qui ne sont pas associées à IBM® App Connect Enterprise.

Lorsque vous émettez une exception à partir d'ESQL à l'aide d'une instruction THROW, le code ESQL ajoute une insertion de début supplémentaire qui contient le nom du composant en cours. Les autres insertions fournies par le script ESQL suivent cette insertion principale. Par conséquent, vous devez tenir compte de cette insertion lorsque vous écrivez votre propre catalogue de messages.

Les instructions de cette rubrique expliquent comment créer des catalogues de messages pour les programmes C. Si vous souhaitez créer un bundle de ressources Java™ , consultez la documentation de la plateforme Java 2, Standard Edition.

Lisez la section correspondant à votre système d'exploitation de noeud d'intégration:

Génération et installation d'une source de message Windows

A propos de cette tâche

Sous Windows, vous devez créer votre catalogue de messages supplémentaire en tant que fichier DLL. Le fichier DLL contient les définitions de vos messages d'événement, que l'afficheur d'événements peut afficher dans un format lisible, en fonction du message d'événement écrit par votre application. Lorsque vous compilez un catalogue de messages, un fichier d'en-tête est créé pour définir des valeurs symboliques pour chaque numéro de message d'événement que vous avez créé. Vous devez inclure le fichier d'en-tête dans votre application.

Pour créer une source d'événement pour le service de journal des événements Windows :

Procédure

  1. Créez un fichier d'entrée du compilateur de messages (.mc) avec la source de vos messages d'événement.
    Consultez le site Web Microsoft Developer Network et effectuez une recherche sur .mc file pour plus de détails sur le format de ce fichier d'entrée.
  2. Compilez le fichier de messages pour créer un fichier d'entrée de compilateur de ressources:
    mc -v -w -s -h c:\mymessages -r c:\mymessages mymsg.mc

    c:\mymessages est l'emplacement des fichiers de sortie et mymsg.mc est le nom du fichier d'entrée.

    Le compilateur de messages génère un fichier d'en-tête de sortie (.h) contenant le symbole #defines qui est mappé à chaque numéro de message codé dans le fichier .mc d'entrée. Incluez ce fichier d'en-tête lorsque vous compilez un fichier source d'extension défini par l'utilisateur qui utilise une fonction utilitaire (par exemple, CciLog) pour écrire un message d'événement que vous avez défini. L'argument messageNumber de la fonction d'utilitaire doit utiliser la valeur appropriée définie par hachage dans le fichier d'en-tête de sortie.

  3. Compilez le fichier de sortie (.rc) à partir du compilateur de messages pour créer un fichier de ressources (.res):
    RC /v output_file.rc
  4. Créez un fichier DLL de ressource à partir du fichier .res :
    LINK /DLL /NOENTRY resource_file.res
  5. Ajoutez l'emplacement du fichier DLL de ressource à la variable d'environnement MQSI_CONSOLE_NLSPATH , par exemple:
    set MQSI_CONSOLE_NLSPATH=%MQSI_CONSOLE_NLSPATH%;c:\messages
    Pour ce faire, vous pouvez créer un script d'environnement personnalisé dans votre répertoire de travail. L'emplacement par défaut est C:\ProgramData\IBM\MQSI\Common\profiles.
  6. Installez la source d'événement dans le service de journal des événements Windows :
    1. Démarrez l'éditeur de registre Windows :
      regedit
    2. Créez une nouvelle sous-clé de registre pour votre extension définie par l'utilisateur sous la structure existante:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application

      Cliquez avec le bouton droit de la souris sur Application et sélectionnez Nouveau > Clé. La nouvelle clé est créée directement sous la clé « Application » (et non sous la clé « IBM App Connect Enterprise »). Vous devez attribuer à la clé le nom que vous spécifiez pour messageSource sur une fonction d'utilitaire dans votre extension définie par l'utilisateur (par exemple, CciLog) ou en tant que propriété du noeud intégré que vous avez inclus dans votre flux de messages.

      Créez les valeurs suivantes pour cette entrée:

      EventMessageFile
      Définissez la valeur de cette chaîne pour qu'elle contienne le chemin complet du fichier DLL que vous avez créé pour contenir vos messages. Cette entrée représente le catalogue de messages.
      TypesSupported
      Définissez la valeur DWORD sur "7".

Création d'un catalogue XPG/4 pour Linux, UNIXet z/OS

A propos de cette tâche

Sur les systèmes Linux®, UNIXet z/OS® , les messages sont écrits dans la fonction SYSLOG. Si vous souhaitez utiliser votre propre catalogue de messages, vous devez créer un catalogue de messages XPG/4 .

Le processus de création d'un catalogue de messages (fichier .cat ) dépend du système d'exploitation sur lequel vous le créez. Les commandes que vous utilisez sont généralement gencat (création ou modification d'un catalogue de messages) et dspcat (affichage de tout ou partie d'un catalogue de messages). La commande gencat fusionne les fichiers texte qui contiennent le texte de votre message pour créer ou modifier un catalogue formaté. Les fichiers texte ont généralement l'extension de fichier .msg.

Vous devez ajouter l'emplacement du catalogue de messages à la variable d'environnement MQSI_CONSOLE_NLSPATH . Vous pouvez utiliser %L et %N pour représenter l'environnement local et le nom du catalogue, par exemple:
export MQSI_CONSOLE_NLSPATH=${MQSI_CONSOLE_NLSPATH}:${MY_INST_PATH}/messages/%L/%N:${MY_INST_PATH}/messages/En_US/%N
Dans cet exemple, la version anglaise est codée en dur ultérieurement dans le chemin de recherche, ce qui garantit que les messages sont affichés même dans les environnements locaux pour lesquels aucun fichier .cat n'existe.
Les messages que vous définissez dans les fichiers .msg peuvent inclure des variables qui sont remplacées lors de l'exécution. Ces variables doivent être au format {number}, où {number} est le numéro d'insertion du message, entouré d'accolades. La première insertion de message est numérotée 0. Par exemple :
1234 "MSG1234E: \ 
Syntax Error. \n 
The value '{0}' is not valid for property '{1}'.\n
Correct it and then reissue the command.\n"

Si vous créez un catalogue de messages sur un système d'exploitation, vous ne pouvez pas le porter sur un autre système d'exploitation car les catalogues sont codés en binaire. Toutefois, vous pouvez utiliser les mêmes fichiers .msg en entrée de la commande gencat sur un autre système.

Consultez les informations pertinentes dans la documentation de votre système d'exploitation. Par exemple :

  • Plateforme AIXPour AIX®, voir Commands Reference dans la documentation du produit.
  • Plateforme z/OSPour z/OS, voir UNIX System Services Command Reference dans la documentation en ligne du produit z/OS.

Vous devez également vérifier les informations sur les environnements locaux supplémentaires pris en charge, si vous souhaitez utiliser des messages dans des environnements locaux autres que l'anglais (Etats-Unis).