Compartir a través de


Intercambio de mensajes AS2 en flujos de trabajo B2B mediante Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo + estándar)

Para enviar y recibir mensajes AS2 en flujos de trabajo que cree mediante Azure Logic Apps, use el conector AS2 (v2). Este conector proporciona acciones que soportan y administran la comunicación AS2. Si necesita funcionalidades de seguimiento, el conector AS2 original sigue estando disponible, pero está en desuso.

Excepto para las funcionalidades de seguimiento, el conector AS2 (v2) proporciona las mismas funcionalidades que el conector AS2 original. El conector AS2 (v2) se ejecuta de forma nativa con el entorno de ejecución de Azure Logic Apps y ofrece importantes mejoras de rendimiento en el tamaño del mensaje, el rendimiento y la latencia. A diferencia del conector AS2 original, el conector AS2 (v2) no requiere que cree una conexión a la cuenta de integración. En su lugar, como se describe en los requisitos previos, vincule la cuenta de integración al recurso de aplicación lógica donde planea usar el conector.

En esta guía se muestra cómo agregar las acciones de codificación y descodificación para AS2 (v2) y AS2 a un flujo de trabajo de aplicación lógica existente. El conector AS2 (v2) no proporciona ningún desencadenador, por lo que puede usar cualquier desencadenador para iniciar el flujo de trabajo. En los ejemplos de esta guía se usa el desencadenador de solicitud.

Referencia técnica del conector

El conector AS2 tiene versiones diferentes, basadas en el tipo de aplicación lógica y el entorno de host.

Aplicación lógica Entorno Versión del conector
Consumo Azure Logic Apps multiinquilino Conectores administrados AS2 (v2) y AS2, que aparecen en la galería de conectores en Compartido. El conector AS2 tiene un desencadenador y varias acciones. El conector AS2 (v2) solo proporciona acciones. Puede usar cualquier desencadenador que funcione para su escenario. Para obtener más información, consulte:

- Referencia del conector administrado AS2
- Operaciones del conector administrado AS2 (v2)
- Límites de mensajes AS2
Estándar Implementación híbrida, Azure Logic Apps de un solo inquilino y App Service Environment v3 (solo planes de Windows) Conector integrado AS2 (v2), que aparece en la galería de conectores bajo Integrado, y conector administrado AS2, que aparece en la galería de conectores bajo Compartido. El conector AS2 tiene un desencadenador y varias acciones. El conector AS2 (v2) solo proporciona acciones. Puede usar cualquier desencadenador que funcione para su escenario.

La versión integrada difiere de las siguientes maneras:

- La versión integrada puede acceder directamente a las redes virtuales de Azure. No necesita una puerta de enlace de datos local.

Para obtener más información, consulte:

- Referencia del conector administrado AS2
- Operaciones del conector integrado AS2 (v2)
- Límites de mensajes AS2

Operaciones de AS2 (v2)

El conector AS2 (v2) no tiene desencadenadores. En la tabla siguiente se describen las acciones que proporciona el conector AS2 (v2) para establecer la seguridad y confiabilidad al transmitir mensajes:

Acción Descripción
Acción de Codificación AS2 Proporciona firmas digitales, cifrado y confirmaciones mediante las notificaciones de disposición del mensaje (MDN), lo que ayuda a admitir la recepción sin rechazo. Por ejemplo, esta acción se aplica a los encabezados AS2/HTTP y realiza las siguientes tareas cuando se configura:

- Firmar mensajes salientes.
- Cifrar mensajes salientes.
- Comprimir el mensaje.
- Transmitir el nombre de archivo en el encabezado MIME.
Acción de descodificación de AS2 Proporciona descifrado, firma digital y confirmaciones a través de las notificaciones de disposición de mensajes (MDN). Por ejemplo, esta acción realiza las siguientes tareas cuando se configura:

- Procesar encabezados AS2/HTTP.
- Conciliar los MDN recibidos con los mensajes de salida originales.
- Actualizar y correlacionar registros en la base de datos sin rechazo.
- Escribir registros para los informes de estado de AS2.
- Devolver el contenido de la carga útil con codificación base64.
- Determinar si los MDN son necesarios. En función del contrato AS2, determina si los MDN deben ser sincrónicos o asincrónicos.
- Generar los MDN sincrónicos o asincrónicos según el contrato AS2.
- Establecer las propiedades y los tokens de correlación en los MDN.
- Comprobar la firma.
- Descifrar los mensajes.
- Descomprimir el mensaje.
- Comprobar y prohibir duplicados de identificador de mensaje.

Requisitos previos

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

  • El recurso de aplicación lógica y el flujo de trabajo en los que quiere usar las operaciones AS2.

  • Un recurso de la cuenta de integración para definir y almacenar artefactos para utilizarlos en flujos de trabajo de integración empresarial y B2B.

    • Tanto la cuenta de integración como el recurso de aplicación lógica deben existir en la misma suscripción de Azure y en la misma región de Azure.

    • Define al menos dos asociados comerciales que participen en la operación AS2 usada en el flujo de trabajo. Las definiciones de ambos asociados deben usar el mismo calificador de identidad empresarial, que es AS2Identity en este escenario.

    • Define un contrato AS2 entre los asociados comerciales que participan en el flujo de trabajo. En cada contrato hacen falta un asociado anfitrión y un asociado invitado. El contenido de los mensajes entre usted y el otro asociado debe coincidir con el tipo de contrato. Para obtener información sobre la configuración del contrato que se va a usar al recibir y enviar mensajes, consulte configuraciones de mensaje AS2.

  • Antes de empezar a trabajar con AS2 (v2) o operaciones AS2, debe vincular su aplicación lógica Consumo o vincular su aplicación lógica Estándar a una cuenta de integración. Al agregar una operación AS2 (v2) o AS2, es posible que también tenga que crear una conexión con la cuenta de integración:

    Flujo de trabajo de la aplicación lógica ¿Se necesita un vínculo?
    Consumo - Conector AS2 (v2): no se requiere conexión
    - Conector AS2: conexión necesaria
    Estándar - Conector AS2 (v2): no se requiere conexión
    - Conector AS2: conexión necesaria
  • Si usa Azure Key Vault para la administración de certificados, compruebe que las claves de almacén permitan las operaciones Cifrar y Descifrar. En caso contrario, las acciones de codificación y descodificación producirán un error.

    1. En Azure Portal, abra el recurso del almacén de claves. En la barra lateral del recurso, en Objetos, seleccione Claves.

    2. En la página Claves , seleccione la clave. En la página Versiones , seleccione la versión de clave que usa.

    3. En la página Versión de clave , en Operaciones permitidas, confirme que está seleccionado Cifrar y descifrar .

      Recorte de pantalla que muestra el portal de Azure y el recurso de almacén de claves con las páginas de clave y de versión de clave abiertas, y se han seleccionado las operaciones de cifrado y descifrado.

Codificación de mensajes AS2

Para codificar mensajes con el conector AS2 (v2) o el conector AS2, siga los pasos correspondientes.

Conector AS2 v2

Para codificar mensajes con el conector AS2 (v2), siga estos pasos:

  1. En Azure Portal, abra el recurso de la aplicación lógica y el flujo de trabajo en el diseñador.

  2. En el diseñador, siga estos pasos generales para agregar la acción AS2 (v2) denominada AS2 Encode al flujo de trabajo.

  3. En el panel de información de la acción, proporcione la información siguiente:

    Parámetro Obligatorio Descripción
    Mensaje que se codificará Por ejemplo, la carga útil del mensaje para codificar es la salida del cuerpo del desencadenador Request.

    1. Seleccione dentro del cuadro Mensaje para codificar y, a continuación, seleccione el icono de rayo para abrir la lista de contenido dinámico.
    2. Junto al nombre de sección Cuando se recibe una solicitud HTTP, seleccione Ver más.
    3. En la lista, seleccione Cuerpo.
    AS2 desde Identificador empresarial del remitente del mensaje según lo especificado por su contrato AS2; por ejemplo, Fabrikam.
    AS2 hasta Identificador empresarial del receptor del mensaje según lo especificado por su contrato AS2; por ejemplo, Contoso.

    Por ejemplo, la carga del mensaje es la salida del contenido del cuerpo del desencadenador Request:

    Captura de pantalla que muestra el diseñador de flujo de trabajo y la acción Codificar AS2 con las propiedades de codificación de mensajes.

Conector AS2

Para codificar mensajes con el conector AS2, siga estos pasos:

  1. En Azure Portal, abra el recurso de la aplicación lógica y el flujo de trabajo en el diseñador.

  2. En el diseñador, siga estos pasos generales para agregar la acción AS2 denominada Codificar en mensaje AS2 al flujo de trabajo.

  3. Cuando se le pida que cree una conexión a la cuenta de integración, proporcione la siguiente información:

    Parámetro Obligatorio Descripción
    Nombre de conexión Nombre de la conexión.
    Id. de cuenta de integración Nombre de la cuenta de integración.
    Dirección URL de SAS de la cuenta de integración Dirección URL de devolución de llamada de la cuenta de integración.

    Por ejemplo:

    Captura de pantalla que muestra la información de conexión del mensaje Encode to AS2.

  4. Cuando haya terminado, seleccione Crear nuevo.

  5. En el panel de información de la acción, proporcione la siguiente información.

    Parámetro Obligatorio Descripción
    AS2-From Identificador empresarial del remitente del mensaje según lo especificado por su contrato AS2; por ejemplo, Fabrikam.
    AS2-To Identificador empresarial del receptor del mensaje según lo especificado por su contrato AS2; por ejemplo, Contoso.
    body Por ejemplo, la carga útil del mensaje para codificar es la salida del cuerpo del desencadenador Request.

    1. Seleccione dentro del cuadro de cuerpo y, a continuación, seleccione el icono de rayo para abrir la lista de contenido dinámico.
    2. Junto al nombre de sección Cuando se recibe una solicitud HTTP, seleccione Ver más.
    3. En la lista, seleccione Cuerpo.

    Captura de pantalla que muestra la acción Codificar a mensaje AS2 con las propiedades de codificación del mensaje.

Descodificación de mensajes AS2

Para descodificar mensajes con el conector AS2 (v2) o el conector AS2, siga los pasos correspondientes.

Conector AS2 v2

Para descodificar mensajes con el conector AS2 (v2), siga estos pasos:

  1. En Azure Portal, abra el recurso de la aplicación lógica y el flujo de trabajo en el diseñador.

  2. En el diseñador, siga estos pasos generales para agregar la acción AS2 (v2) denominada AS2 Decode al flujo de trabajo.

  3. En el panel de información de la acción, proporcione la información siguiente:

    Parámetro Obligatorio Descripción
    Mensaje que se descodificará Por ejemplo, la carga útil del mensaje que se descodificará es la salida del cuerpo del desencadenador Request.

    1. Seleccione dentro del cuadro Mensaje para descodificar y, a continuación, seleccione el icono de rayo para abrir la lista de contenido dinámico.
    2. Junto al nombre de sección Cuando se recibe una solicitud HTTP, seleccione Ver más.
    3. En la lista, seleccione Cuerpo.
    Encabezados de mensaje Los encabezados del mensaje para descodificar, por ejemplo, la salida de los encabezados del desencadenador Request.

    1. Seleccione dentro del cuadro de Encabezados de mensaje, y a continuación, seleccione el icono de función para abrir el editor de expresiones.
    2. En el cuadro del editor, escriba la siguiente expresión:

    triggerOutputs()?['headers']

    3. Cuando haya terminado, seleccione Agregar.

    Por ejemplo:

    La captura de pantalla muestra el diseñador de flujo de trabajo con la acción de decodificación AS2 y las propiedades de descodificación de mensajes.

Conector AS2

Para descodificar mensajes con el conector AS2, siga estos pasos:

  1. En Azure Portal, abra el recurso de la aplicación lógica y el flujo de trabajo en el diseñador.

  2. En el diseñador, siga estos pasos generales para agregar la acción AS2 denominada Descodificar mensaje AS2 al flujo de trabajo.

  3. Cuando se le pida que cree una conexión a la cuenta de integración, proporcione la siguiente información:

    Parámetro Obligatorio Descripción
    Nombre de conexión Nombre de la conexión.
    Id. de cuenta de integración El identificador de recurso de la cuenta de integración, que tiene el formato siguiente:

    /subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/integrationAccounts/<integration-account-name>

    Por ejemplo:
    /subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

    Para encontrar este identificador de recurso, siga estos pasos:

    1. En el Azure Portal, abra la cuenta de integración.
    2. En la barra lateral de la cuenta de integración, seleccione Información general.
    3. En la página Información general, seleccione el Vista JSON.
    4. Desde la propiedad Identificador de recurso, copie el valor.
    Dirección URL de SAS de la cuenta de integración La dirección URL del punto de conexión de solicitud que usa la autenticación de firma de acceso compartido (SAS) para proporcionar acceso a la cuenta de integración. Esta dirección URL de devolución de llamada tiene el formato siguiente:

    https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>

    Por ejemplo:
    https://prod-04.west-us.logic-azure.com:443/integrationAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb?api-version=2015-08-1-preview&sp=XXXXXXXXX&sv=1.0&sig=aB1cD2eF-3gH4iJ5kL6-mN7oP8qR

    Para encontrar esta dirección URL, siga estos pasos:

    1. En el Azure Portal, abra la cuenta de integración.
    2. En la barra lateral de la cuenta de integración, en Configuración, seleccione Dirección URL de devolución de llamada.
    3. Desde la propiedad Dirección URL de devolución de llamada generada, copie el valor.

    Por ejemplo:

    Captura de pantalla que muestra la información de conexión del mensaje Decode AS2.

  4. Cuando haya terminado, seleccione Crear nuevo.

  5. En el panel de información de acciones, proporcione los siguientes valores:

    Parámetro Obligatorio Descripción
    body Por ejemplo, la carga útil del mensaje es la salida del cuerpo del desencadenador Request.

    1. Seleccione dentro del cuadro de cuerpo y, a continuación, seleccione el icono de rayo para abrir la lista de contenido dinámico.
    2. Junto al nombre de sección Cuando se recibe una solicitud HTTP, seleccione Ver más.
    3. En la lista, seleccione Cuerpo.
    Encabezados Los encabezados del mensaje para descodificar, por ejemplo, la salida de los encabezados del desencadenador Request.

    1. Seleccione dentro del cuadro Encabezados y, a continuación, seleccione el icono de función para abrir el editor de expresiones.

    2. En el cuadro del editor, escriba la siguiente expresión:

    triggerOutputs()?['headers']

    3. Cuando haya terminado, seleccione Agregar.

    Por ejemplo:

    El recorte de pantalla muestra la acción de descodificar el mensaje AS2 con el cuerpo introducido desde el desencadenador de solicitud.

Muestra

Para implementar un flujo de trabajo de aplicación lógica totalmente funcional y un escenario as2 (v2) de ejemplo, consulte el escenario y la plantilla de aplicación lógica AS2 (v2).

Solucionar problemas

  • Problemas al enviar mensajes firmados o cifrados

    Considere la posibilidad de probar diferentes formatos de algoritmo SHA256. La especificación AS2 no proporciona ninguna información sobre los formatos SHA256, por lo que cada proveedor usa su propia implementación o formato.