Conexión a un servidor IBM MQ desde un flujo de trabajo en Azure Logic Apps

El conector de MQ le ayuda a conectar los flujos de trabajo de la aplicación lógica a un servidor IBM MQ en el entorno local o en Azure. A continuación, puede hacer que los flujos de trabajo reciban y envíen mensajes almacenados en el servidor MQ. En este artículo se proporciona una guía de introducción al uso del conector de MQ en la que se muestra cómo conectarse al servidor MQ y agregar una acción de MQ al flujo de trabajo. Por ejemplo, puede empezar por examinar un único mensaje en una cola y luego intentar otras acciones.

Este conector incluye un cliente de MQ de Microsoft que se comunica con un servidor IBM MQ remoto mediante una red TCP/IP. Puede conectarse a las siguientes versiones de IBM WebSphere MQ:

  • MQ 7.5
  • MQ 8.0
  • MQ 9.0, 9.1 y 9.2

Operaciones disponibles

  • Aplicación lógica de consumo: solo puede conectarse a un servidor MQ mediante el conector de MQ administrado. El conector proporciona únicamente las acciones, no los desencadenadores.

  • Aplicación lógica estándar: puede conectarse a un servidor MQ mediante el conector de MQ administrado, que incluye solo acciones, o las operaciones integradas de MQ, que incluyen desencadenadores y acciones.

Para más información sobre la diferencia entre un conector administrado y las operaciones integradas, consulte Términos clave de Logic Apps.

En la lista siguiente solo se describen algunas de las operaciones administradas disponibles para MQ:

  • Examinar un único mensaje o una matriz de mensajes sin eliminarlos del servidor MQ. Para varios mensajes, puede especificar el número máximo de mensajes que se devolverán por cada lote. De lo contrario, se devuelven todos los mensajes.
  • Eliminar un mensaje individual o una matriz de mensajes del servidor MQ.
  • Recibir un único mensaje o una matriz de mensajes y, a continuación, eliminarlos del servidor MQ.
  • Enviar un único mensaje al servidor MQ.

Para obtener información sobre todas las operaciones del conector administrado y otra información técnica, como propiedades, límites, etc., consulte la página de referencia del conector de MQ.

Limitaciones

  • El conector MQ no admite mensajes segmentados.

  • El conector de MQ no usa el campo de formato del mensaje ni realiza ninguna conversión de juegos de caracteres. El conector solo coloca los datos que aparecen en el campo de mensaje en un mensaje JSON y envía el mensaje.

Requisitos previos

  • Una cuenta y una suscripción de Azure. Si no tiene una suscripción de Azure, regístrese para obtener una cuenta gratuita de Azure.

  • Si usa un servidor MQ local, instale la puerta de enlace de datos local en un servidor de la red. Para que el conector de MQ funcione, el servidor donde se instala la puerta de enlace de datos local también debe tener instalado .NET Framework 4.6.

    Después de instalar la puerta de enlace, debe crear también un recurso de puerta de enlace de datos en Azure. El conector de MQ usa este recurso para acceder al servidor MQ. Para más información, consulte Conexión a orígenes de datos locales desde Azure Logic Apps.

    Nota

    No se necesita la puerta de enlace en los escenarios siguientes:

    • Va a usar las operaciones integradas, no el conector administrado.
    • El servidor MQ está disponible públicamente o está disponible en Azure.
  • El flujo de trabajo de la aplicación lógica desde donde quiere acceder al servidor MQ. El recurso de aplicación lógica debe tener la misma ubicación que el recurso de puerta de enlace en Azure.

    El conector de MQ no tiene desencadenadores, por lo que el flujo de trabajo ya debe comenzar con un desencadenador o primero debe agregar un desencadenador al flujo de trabajo. Por ejemplo, puede usar el desencadenador de periodicidad.

    Si no está familiarizado con Azure Logic Apps, pruebe este inicio rápido para crear un flujo de trabajo de aplicación lógica de ejemplo que se ejecuta en el servicio Logic Apps multiinquilino.

Creación de una conexión de MQ

Cuando agregue una acción de MQ por primera vez, se le pedirá que cree una conexión con el servidor MQ.

Nota

Actualmente, el conector de MQ solo admite la autenticación de servidor, no la de cliente. Para obtener más información, consulte Connection and authentication problems (Problemas de conexión y autenticación).

  1. Si se conecta a un servidor MQ local, seleccione Conectarse mediante una puerta de enlace de datos local.

  2. Proporcione la información de conexión para el servidor MQ.

    Propiedad Local o Azure Descripción
    Puertas de enlace Solo en entornos locales Seleccione Connect via on-premises data gateway (Conectarse a través de la puerta de enlace de datos local).
    Nombre de la conexión Ambos El nombre que usar para su conexión
    Server Ambos Uno de los valores siguientes:

    - Nombre de host del servidor MQ
    - Dirección IP seguida de dos puntos y el número de puerto

    Nombre del administrador de colas Ambos Administrador de colas que quiere utilizar
    Nombre del canal Ambos Canal para conectarse al administrador de colas
    Nombre predeterminado de la cola Ambos Nombre predeterminado de la cola
    Conectar como Ambos Nombre de usuario para conectarse al servidor MQ
    Nombre de usuario Ambos Credenciales de nombre de usuario
    Contraseña Ambos Credenciales de contraseña
    ¿Quiere habilitar SSL? Solo en entornos locales Usar Seguridad de la capa de transporte (TLS) o Capa de sockets seguros (SSL)
    Puerta de enlace: suscripción Solo en entornos locales Suscripción de Azure asociada al recurso de puerta de enlace en Azure
    Puerta de enlace: puerta de enlace de conexión Solo en entornos locales Recurso de puerta de enlace que se va a usar

    Por ejemplo:

    Screenshot showing the managed MQ connection details.

  3. Seleccione Crear cuando haya terminado.

Adición de una acción de MQ

En Azure Logic Apps, una acción sigue al desencadenador o a otra acción y realiza alguna operación en el flujo de trabajo. En los pasos siguientes se describe la manera general de agregar una acción, por ejemplo, Examinar un único mensaje.

  1. En el Diseñador de aplicaciones lógicas, abra el flujo de trabajo, si aún no está abierto.

  2. En el desencadenador u otra acción, agregue un nuevo paso.

    Para agregar un paso entre los ya existentes, mueva el mouse sobre la flecha. Seleccione el signo más (+) que aparece y, a continuación, seleccione Agregar una acción.

  3. En el cuadro de búsqueda de operaciones, escriba mq. En la lista de acciones, seleccione la acción Examinar mensaje.

  4. Si se le pide que cree una conexión al servidor MQ, proporcione la información de conexión solicitada.

  5. En la acción, proporcione los valores de las propiedades que necesita la acción.

    Para especificar propiedades adicionales, abra la lista Agregar nuevo parámetro y seleccione las propiedades que quiera agregar.

  6. Cuando esté listo, seleccione Guardar en la barra de herramientas del diseñador.

  7. Para probar el flujo de trabajo, seleccione Ejecutar en la barra de herramientas del diseñador.

    Una vez que finaliza la ejecución, el diseñador muestra el historial de ejecución del flujo de trabajo junto con el estado del paso.

  8. Para revisar las entradas y salidas de cada paso que se ejecutó (no omitido), expanda o seleccione el paso.

    • Para revisar más detalles de entrada, seleccione Mostrar entradas sin procesar.
    • Para revisar más detalles de salida, seleccione Mostrar salidas sin procesar. Si establece IncludeInfo en true, se incluirá una salida adicional.

Solucionar problemas

Errores con las acciones de exploración o recepción

Si ejecuta una acción de exploración o recepción en una cola vacía, se produce un error en la acción con las siguientes salidas de encabezado:

MQ

Problemas de conexión y autenticación

Cuando el flujo de trabajo intente conectarse al servidor MQ local, puede que aparezca este error:

"MQ: Could not Connect the Queue Manager '<queue-manager-name>': The Server was expecting an SSL connection."

  • Si usa el conector de MQ directamente en Azure, el servidor MQ debe usar un certificado emitido por una entidad de certificación de confianza.

  • El servidor MQ requiere que defina la especificación de cifrado que se va a usar para las conexiones TLS. Sin embargo, por motivos de seguridad y para incluir los mejores conjuntos de seguridad, el sistema operativo Windows envía un conjunto de especificaciones de cifrado admitidas.

    El sistema operativo donde se ejecuta el servidor MQ elige los conjuntos que se usarán. Para que la configuración coincida, debe cambiar la configuración del servidor MQ para que la especificación de cifrado coincida con la opción elegida en la negociación de TLS.

    Al intentar la conexión, el servidor MQ registra un mensaje de evento que indica que se produjo un error en el intento de conexión porque el servidor MQ ha elegido una especificación de cifrado incorrecta. El mensaje del evento contiene la especificación de cifrado que el servidor MQ eligió de la lista. Actualice la especificación de cifrado en la configuración del canal para que coincida con la especificación de cifrado del mensaje del evento.

Referencia de conectores

Para obtener información sobre todas las operaciones del conector administrado y otra información técnica, como propiedades, límites, etc., consulte la página de referencia del conector de MQ.

Pasos siguientes