Creación de catálogos de mensajes

Cree sus propios catálogos de mensajes para grabar entradas personalizadas en las anotaciones de error locales.

Acerca de esta tarea

En algún error y en otras situaciones, es posible que elija grabar información en las anotaciones de error para que pueda hacer el seguimiento de lo que sucede en un flujo de mensajes. Puede utilizar los nodos incorporados Lanzar y Rastrear para generar entradas en el registro, o puede crear sus propios nodos y salidas de usuario, y escribir entradas en el registro desde las extensiones definidas por el usuario.

Puede escribir uno de los conjuntos de mensajes siguientes o ambos:
  • Un conjunto fijo de mensajes que se suministran en el catálogo de mensajes del producto. Este conjunto proporciona un rango de números para los nodos Throw (BIP3001 a BIP3049) y un segundo rango para los nodos Trace (BIP3051 a BIP3099). Un tercer rango (BIP2951 a BIP2999) se suministra para las sentencias ESQL LOG y THROW.

    Cuando utiliza estos mensajes, también puede proporcionar texto adicional que se muestra en el texto del mensaje.

  • Sus propios mensajes, creados en su propio catálogo de mensajes. Puede utilizar este catálogo adicional para definir contenido de mensaje especializado y puede incluir variables o inserciones que vienen determinadas por el código que genera el mensaje. También puedes compartir tu propio catálogo de mensajes con otras aplicaciones que no estén asociadas a IBM® App Connect Enterprise.

Cuando emita una excepción desde ESQL utilizando una sentencia THROW, el código ESQL añade una inserción inicial extra que contiene el nombre del componente actual. El resto de inserciones que se proporcionan mediante el script de ESQL van después de esta inserción inicial. Por lo tanto, debe tener en cuenta esta inserción cuando registre su propio catálogo de mensajes.

Las instrucciones en este tema describen cómo crear catálogos de mensajes para programas C. Si desea crear un paquete de recursos Java™ , consulte la documentación de Java 2 Platform, Standard Edition.

Lea la sección correspondiente al sistema operativo de su nodo de integración:

Creación e instalación de un origen de mensajes de Windows

Acerca de esta tarea

En Windows, debe crear su catálogo de mensajes adicional como un archivo DLL. El archivo DLL contiene definiciones de los mensajes de sucesos que el visor de sucesos puede visualizar en formato legible, basándose en el mensaje de suceso escrito por la aplicación. Cuando se compila un catálogo de mensajes, se crea un archivo de cabecera que define valores simbólicos para cada número de mensaje de suceso que ha creado. Debe incluir el archivo de cabecera en la aplicación.

Para crear un origen de sucesos para el servicio de registro de sucesos de Windows :

Procedimiento

  1. Cree un archivo de entrada de compilador de mensajes (.mc) con el origen para los mensajes de suceso.
    Consulte el sitio web de Microsoft Developer Network y busque en .mc file para obtener detalles sobre el formato de este archivo de entrada.
  2. Compile el archivo de mensajes para crear un archivo de entrada de compilador de recursos:
    mc -v -w -s -h c:\mymessages -r c:\mymessages mymsg.mc

    donde c:\mymessages es la ubicación de los archivos de salida y mymsg.mc es el nombre del archivo de entrada.

    El compilador de mensajes produce un archivo de cabecera de salida (.h) que contiene #defines simbólicos que se correlacionan con cada número de mensaje codificado en el archivo .mc de entrada. Incluye este archivo de cabecera al compilar un archivo de origen de extensión definido por el usuario que utiliza una función de programa de utilidad (por ejemplo, CciLog) para grabar un mensaje de suceso que ha definido. El argumento messageNumber para la función de programa de utilidad debe utilizar el valor adecuado que está definido por totales en el archivo de cabecera de salida.

  3. Compile el archivo de salida (.rc) desde el compilador de mensajes para crear un archivo de recursos (.res):
    RC /v output_file.rc
  4. Cree un archivo DLL de recursos a partir del archivo .res :
    LINK /DLL /NOENTRY resource_file.res
  5. Añadir la ubicación del archivo DLL de recursos a la variable de entorno MQSI_CONSOLE_NLSPATH , por ejemplo:
    set MQSI_CONSOLE_NLSPATH=%MQSI_CONSOLE_NLSPATH%;c:\messages
    Para ello cree un script de entorno personalizado en el directorio de trabajo. La ubicación predeterminada es C:\ProgramData\IBM\MQSI\Common\profiles.
  6. Instale el origen de sucesos en el servicio de registro de sucesos de Windows :
    1. Inicie el editor de registro de Windows :
      regedit
    2. Cree una subclave de registros nueva para la extensión definida por el usuario bajo la estructura existente:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application

      Pulse con el botón derecho del ratón en Aplicación y seleccione Nuevo > Clave. La nueva clave se crea directamente bajo la clave «Application» (no bajo la clave « IBM App Connect Enterprise »). Debe dar a la clave el nombre que especifique para messageSource en una función de programa de utilidad en la extensión definida por el usuario (por ejemplo, CciLog) o como propiedad del nodo incorporado que ha incluido en el flujo de mensajes.

      Cree los valores siguientes para esta entrada:

      EventMessageFile
      Establezca el valor de esta serie para que contenga la vía de acceso totalmente calificada para el archivo DLL que ha creado para que contenga los mensajes. Esta entrada representa un catálogo de mensajes.
      TypesSupported
      Establezca el valor de DWORD en "7".

Creación de un catálogo XPG/4 para Linux, UNIXy z/OS

Acerca de esta tarea

En sistemas Linux®, UNIXy z/OS® , los mensajes se graban en el recurso SYSLOG. Si desea crear su propio catálogo de mensajes, debe crear un catálogo de mensajes XPG/4.

El proceso para crear un catálogo de mensajes (un archivo .cat) depende del sistema operativo en el que lo está creando. Los mandatos que utiliza suelen ser gencat (crear o modificar un catálogo de mensajes) y dspcat (para visualizar todo un catálogo de mensajes o parte de éste). El mandato gencat fusiona los archivos de texto que contienen el texto del mensaje, para crear o modificar un catálogo con formato. Los archivos de texto suelen tener una extensión de archivo .msg.

Debe añadir la ubicación del catálogo de mensajes a la variable de entorno MQSI_CONSOLE_NLSPATH. Puede utilizar %L y %N para representar el entorno local y el nombre de catálogo, por ejemplo:
export MQSI_CONSOLE_NLSPATH=${MQSI_CONSOLE_NLSPATH}:${MY_INST_PATH}/messages/%L/%N:${MY_INST_PATH}/messages/En_US/%N
En este ejemplo, se fuerza la inclusión de la versión en inglés más adelante en la vía de acceso de búsqueda, asegurando que los mensajes se visualicen incluso en entornos locales para los que no existe ningún archivo .cat.
Los mensajes que defina en los archivos .msg pueden incluir variables que se sustituyen en tiempo de ejecución. Estas variables deben tener el formato {número}, donde {número} es el número de inserción de mensaje, encerrado entre llaves. La primera inserción de mensaje está numerado con el 0. Por ejemplo:
1234 "MSG1234E: \ 
Syntax Error. \n 
The value '{0}' is not valid for property '{1}'.\n
Correct it and then reissue the command.\n"

Si crea un catálogo de mensajes en un sistema operativo, no puede transferirlo a otro sistema operativo porque los catálogos están codificados en binario. No obstante, puede utilizar los mismos archivos .msg como entrada para el mandato gencat en otro sistema.

Consulte la información relevante en la documentación del sistema operativo. Por ejemplo:

  • Plataforma AIXPara AIX®, consulte la Referencia de mandatos en la documentación del producto.
  • Plataforma z/OSPara z/OS, consulte la publicación UNIX System Services Command Reference en la documentación en línea del producto z/OS.

También debe comprobar la información sobre entornos locales adicionales admitidos si desea utilizar mensajes en entornos locales que no sean en inglés de Estados Unidos.