Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Azure Logic Apps (consumo + estándar)
Al intercambiar contenido XML con un socio comercial en una integración de negocio a negocio (B2B), a menudo debe codificar el contenido antes de enviarlo. Cuando reciba contenido XML codificado, debe descodificar ese contenido para poder usarlo.
En esta guía se muestra cómo codificar y descodificar XML en los flujos de trabajo mediante las acciones del conector integrado Archivo plano y un esquema de archivo plano.
Referencia técnica del conector
Las acciones de codificación y descodificación de archivos planos están disponibles para flujos de trabajo de aplicaciones lógicas de consumo y flujos de trabajo de aplicaciones lógicas estándar.
| Aplicación lógica | Medio ambiente |
|---|---|
| Consumption | Azure Logic Apps multiinquilino |
| Estándar | Implementación híbrida, Azure Logic Apps de un solo inquilino y App Service Environment v3 (solo planes de Windows) |
Para obtener más información, consulte Conectores integrados de la cuenta de integración.
Requisitos previos
Una cuenta y una suscripción de Azure. Obtenga una cuenta gratuita de Azure.
El recurso y flujo de trabajo de Logic App donde desea usar las operaciones de Flat File.
Las operaciones de archivos planos no incluyen ningún desencadenador. El flujo de trabajo puede comenzar con cualquier desencadenador o usar cualquier acción para incorporar el XML de origen.
En los ejemplos de este artículo se usa el desencadenador Solicitud denominado Cuando se recibe una solicitud HTTP.
Para obtener más información, consulte:
Un recurso de cuenta de integración para definir y almacenar artefactos para 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.
Antes de empezar a trabajar con operaciones de archivos planos, debe vincular la aplicación lógica de consumo o vincular la aplicación lógica estándar a la cuenta de integración para trabajar con artefactos como socios comerciales y contratos. Puede vincular una cuenta de integración a varios recursos de aplicaciones lógicas de tipo Consumo o Estándar para compartir los mismos artefactos.
Sugerencia
Si no está trabajando con artefactos B2B, como socios comerciales y contratos en flujos de trabajo estándar, es posible que no necesite una cuenta de integración. En su lugar, puede cargar esquemas directamente en el recurso de aplicación lógica estándar. En cualquier caso, puede usar el esquema en todos los flujos de trabajo secundarios dentro del mismo recurso de aplicación lógica. Para usar el mismo esquema en varios recursos de aplicación lógica, debe usar y vincular una cuenta de integración.
Esquema de archivo plano que especifica cómo codificar o descodificar contenido XML.
En flujos de trabajo estándar, las operaciones de archivo plano le permiten elegir un esquema de una cuenta de integración vinculada o de uno que haya cargado previamente en su aplicación lógica, pero no ambos al mismo tiempo.
Para obtener más información, consulte Adición de esquemas a cuentas de integración.
Instale o use una herramienta que pueda enviar solicitudes HTTP para probar la solución, por ejemplo:
- Extensión de Visual Studio Code con una de Visual Studio Marketplace
- Invoke-RestMethod de PowerShell
- Microsoft Edge - Herramienta de consola de red
- Bruno
- curl
Precaución
En escenarios en los que tiene datos confidenciales, como credenciales, secretos, tokens de acceso, claves de API y otra información similar, asegúrese de usar una herramienta que proteja los datos con las características de seguridad necesarias. La herramienta debe funcionar sin conexión o localmente y no requerir el inicio de sesión en una cuenta en línea o sincronizar datos en la nube. Cuando se usa una herramienta con estas características, se reduce el riesgo de exponer datos confidenciales al público.
Limitaciones
El contenido XML que desea descodificar debe codificarse en formato UTF-8.
En el esquema del archivo planos, asegúrese de que los grupos XML incluidos no tengan números excesivos de la propiedad
max countestablecida en un valor mayor que 1. Evite anidar un grupo XML con un valor de propiedadmax countmayor que 1 dentro de otro grupo XML con una propiedadmax countmayor que 1.Cuando Azure Logic Apps analiza el esquema de archivo plano y, cuando el esquema permite la elección del siguiente fragmento, Azure Logic Apps genera un símbolo y una predicción para ese fragmento. Si el esquema permite demasiadas construcciones, por ejemplo, más de 100 000, la expansión del esquema se vuelve muy grande, que consume demasiados recursos y tiempo.
Cargar esquema
Después de crear el esquema, cargue el esquema en función del flujo de trabajo:
Consumo: Adición de esquemas a cuentas de integración para flujos de trabajo de consumo
Estándar: adición de esquemas a cuentas de integración para flujos de trabajo estándar
Agregar una acción de codificación de archivos planos
En el portal de Azure, abra su recurso de aplicación lógica.
En el diseñador, abra el flujo de trabajo.
Si el flujo de trabajo no tiene ningún desencadenador ni ninguna otra acción que necesite, agregue primero estas operaciones.
En este ejemplo se usa el desencadenador De solicitud denominado Cuando se recibe una solicitud HTTP. Para agregar un desencadenador, consulte Adición de un desencadenador para iniciar el flujo de trabajo.
En el diseñador, siga estos pasos generales para agregar la acción integrada denominada Codificación de archivos planos.
Se abre el panel de información de acción con la pestaña Parámetros seleccionada.
En el parámetro Content de la acción, proporcione el contenido XML para codificar, que es la salida del desencadenador o de una acción anterior, siguiendo estos pasos:
Seleccione dentro del cuadro Contenido y, a continuación, seleccione el icono de rayo para abrir la lista de contenido dinámico.
En la lista de contenido dinámico, seleccione el contenido XML que se va a codificar.
En el ejemplo siguiente se muestra la lista de contenido dinámico abierto, la salida del desencadenador Cuando se recibe una solicitud HTTP y el contenido body seleccionado de la salida del desencadenador.
Nota:
Si Body no aparece en la lista de contenido dinámico, junto a la etiqueta de sección Cuando se recibe una solicitud HTTP , seleccione Ver más. También puede especificar directamente el contenido que se va a codificar en el cuadro Contenido.
En la lista Nombre de esquema, seleccione el esquema.
Nota:
Si la lista de esquemas está vacía, la causa podría ser:
- El recurso de aplicación lógica no está vinculado a una cuenta de integración.
- La cuenta de integración vinculada no contiene ningún archivo de esquema.
- El recurso de aplicación lógica no contiene ningún archivo de esquema. Este motivo solo se aplica a las aplicaciones lógicas estándar.
Para agregar otros parámetros opcionales a la acción, seleccione esos parámetros en la lista Parámetros avanzados .
Parámetro Value Descripción Modo de generación de nodos vacíos ForcedDisabled o HonorSchemaNodeProperty o ForcedEnabled Modo que se va a usar para la generación de nodos vacíos con la codificación de archivos planos.
Para BizTalk, el esquema de archivo plano tiene una propiedad que controla la generación de nodos vacía. Puede seguir el comportamiento de la propiedad de generación de nodos vacíos para su esquema de archivo plano. Como alternativa, puede usar esta configuración para que Azure Logic Apps genere o omita nodos vacíos. Para obtener más información, vea Etiquetas para elementos vacíos.Normalización de XML Sí o No Opción para habilitar o deshabilitar la normalización XML en la codificación de archivos planos. Para obtener más información, consulte XmlTextReader.Normalization. Guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).
Agregar una acción de descodificación de archivos planos
En el portal de Azure, abra su recurso de aplicación lógica.
Abra el flujo de trabajo en el diseñador.
Si el flujo de trabajo no tiene ningún desencadenador ni ninguna otra acción que necesite, agregue primero estas operaciones.
En este ejemplo se usa el desencadenador De solicitud denominado Cuando se recibe una solicitud HTTP. Para agregar un desencadenador, consulte Adición de un desencadenador para iniciar el flujo de trabajo.
En el diseñador, siga estos pasos generales para agregar la acción integrada denominada Descodificación de archivos planos.
En el parámetro Content de la acción, proporcione el contenido XML que se va a descodificar, ya sea como salida del desencadenador o desde una acción anterior siguiendo estos pasos:
Seleccione dentro del cuadro Contenido y, a continuación, seleccione el icono de rayo para abrir la lista de contenido dinámico.
En la lista de contenido dinámico, seleccione el contenido XML que se va a descodificar.
En el ejemplo siguiente se muestra la lista de contenido dinámico abierto, la salida del desencadenador Cuando se recibe una solicitud HTTP y el contenido body seleccionado de la salida del desencadenador.
Nota:
Si Body no aparece en la lista de contenido dinámico, seleccione Ver más junto a la etiqueta de sección Cuando se recibe una solicitud HTTP . También puede especificar directamente el contenido que desea descodificar en el cuadro Contenido.
En la lista Nombre de esquema, seleccione el esquema.
Nota:
Si la lista de esquemas está vacía, la causa podría ser:
- El recurso de aplicación lógica no está vinculado a una cuenta de integración.
- La cuenta de integración vinculada no contiene ningún archivo de esquema.
- El recurso de aplicación lógica no contiene ningún archivo de esquema. Este motivo solo se aplica a las aplicaciones lógicas estándar.
Guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).
Ahora ya ha terminado de configurar la acción de descodificación de archivos planos. En una aplicación real, podría almacenar los datos descodificados en una aplicación de línea de negocio (LOB) como Salesforce. O bien, puede enviar los datos descodificados a un socio comercial. Para enviar el resultado de la acción de descodificación a Salesforce o a su socio comercial, use los otros conectores disponibles en Azure Logic Apps:
Pruebe el flujo de trabajo
Para desencadenar el flujo de trabajo, siga estos pasos:
En el desencadenador Solicitud , busque el parámetro HTTP POST URL y copie la dirección URL.
Abra la herramienta de solicitud HTTP y use sus instrucciones para enviar una solicitud HTTP a la dirección URL copiada, incluyendo el método que espera el desencadenador Solicitud.
En este ejemplo se usa el método
POSTcon la URL.Incluya el contenido XML que desea codificar o descodificar en el cuerpo de la solicitud.
Una vez que el flujo de trabajo termine de ejecutarse, vaya al historial de ejecución del flujo de trabajo y examine las entradas y salidas de la acción Archivo plano .