Transformación de XML en flujos de trabajo con Azure Logic Apps
Artículo
Se aplica a: Azure Logic Apps (consumo + estándar)
En escenarios de integración empresarial de negocio a negocio (B2B), puede que tenga que convertir XML entre formatos. El flujo de trabajo de la aplicación lógica puede transformar XML mediante la acción Transformar XML y una asignación predefinida.
Por ejemplo, imagine que recibe periódicamente pedidos o facturas B2B de un cliente que usa el formato de fecha añoMesDía (AAAAMMDD), mientras que su organización emplea el formato de fecha mesDíaAño (MMDDAAAA). Puede crear y usar una asignación que transforme el formato de fecha añoMesDía en mesDíaAño antes de almacenar los detalles del pedido o la factura en la base de datos de actividad de los clientes.
Un flujo de trabajo de aplicaciones lógicas que ya se inicie con un desencadenador para poder agregar la acción Transformar XML donde sea necesario en el flujo de trabajo.
Un recurso de cuenta de integración, donde se definen y almacenan artefactos, como socios comerciales, contratos, certificados, entre otros, para su uso en los flujos de trabajo de integración empresarial y B2B. Este recurso tiene que satisfacer los siguientes requisitos:
Estar asociado a la misma suscripción de Azure que el recurso de aplicación lógica.
Existir en la misma ubicación o región de Azure que el recurso de aplicación lógica donde piensa usar la acción Transformar XML.
Si está trabajando en un Flujo de trabajo y recurso de aplicación lógica estándar, puede vincular la cuenta de integración al recurso de aplicación lógica, cargar asignaciones directamente en el recurso de aplicación lógica, o ambas, en función de los escenarios siguientes:
Si ya tiene una cuenta de integración con los artefactos que necesita o quiere usar, puede vincular la cuenta de integración a varios recursos de aplicación lógica estándar en los que desee utilizar los artefactos. De este modo, no es necesario cargar mapas en cada aplicación lógica individual. Para más información, consulte el artículo sobre vinculación del recurso de aplicación lógica a la cuenta de integración.
El conector integrado de Liquid permite seleccionar una asignación que haya cargado anteriormente en el recurso de la aplicación lógica o en una cuenta de integración vinculada, pero no ambos.
Por lo tanto, si no tiene o no necesita una cuenta de integración, puede usar la opción de carga. De lo contrario, puede utilizar la opción de vinculación. En cualquier caso, puede usar estos artefactos en todos los flujos de trabajo secundarios dentro del mismo recurso de aplicación lógica.
Todavía necesita una cuenta de integración para almacenar otros artefactos, como asociados, contratos y certificados, junto con el uso de las operaciones AS2, X12 y EDIFACT.
En el cuadro Contenido, especifique el contenido XML que desea transformar con los datos XML que reciba en la solicitud HTTP.
Para seleccionar salidas de las operaciones anteriores en el flujo de trabajo, en la acciónTransformar XML, haga clic dentro del cuadro Contenido y seleccione la opción de lista de contenido dinámico (icono lightning).
En la lista de contenido dinámico, seleccione el token para el contenido que desea transformar.
En este ejemplo se selecciona el token Cuerpo del desencadenador.
Nota
Asegúrese de seleccionar contenido XML. Si el contenido no es XML o está codificado en base64, debe especificar una expresión que procese el contenido. Por ejemplo, puede usar funciones de expresión como base64ToBinary() para descodificar el contenido o xml() para procesarlo como XML.
En la lista Origen de mapa, seleccione la ubicación donde ha cargado el mapa, ya sea el recurso LogicApp o IntegrationAccount.
En la lista Mapa, seleccione el mapa.
Cuando haya terminado, guarde el flujo de trabajo.
Ha terminado de configurar la acción Transformar XML. En una aplicación real, es posible que quiera almacenar los datos transformados en una aplicación de línea de negocio (LOB) como SalesForce. Para enviar la salida transformada a Salesforce, agregue una acción Salesforce.
Para probar la acción de transformación, desencadene y ejecute el flujo de trabajo. Por ejemplo, en el caso del desencadenador de solicitud, envíe una solicitud a la dirección URL del punto de conexión del desencadenador.
La acción Transformar XML se ejecuta después de que se desencadene el flujo de trabajo y cuando el contenido XML está disponible para la transformación.
En el Azure Portal, abra su aplicación lógica de consumo y su flujo de trabajo en el diseñador.
En el cuadro Contenido, especifique el contenido XML que desea transformar con los datos XML que reciba en la solicitud HTTP.
Para seleccionar salidas de las operaciones anteriores en el flujo de trabajo, en la acción Transformar XML, haga clic dentro del cuadro Contenido, que abre la lista de contenido dinámico.
En la lista de contenido dinámico, seleccione el token para el contenido que desea transformar.
En este ejemplo se selecciona el token Cuerpo del desencadenador.
Nota
Asegúrese de seleccionar contenido XML. Si el contenido no es XML o está codificado en base64, debe especificar una expresión que procese el contenido. Por ejemplo, puede usar funciones de expresión como base64ToBinary() para descodificar el contenido o xml() para procesarlo como XML.
En la lista Mapa, seleccione el mapa.
Cuando haya terminado, guarde el flujo de trabajo.
Ha terminado de configurar la acción Transformar XML. En una aplicación real, es posible que quiera almacenar los datos transformados en una aplicación de línea de negocio (LOB) como SalesForce. Para enviar la salida transformada a Salesforce, agregue una acción Salesforce.
Para probar la acción de transformación, desencadene y ejecute el flujo de trabajo. Por ejemplo, en el caso del desencadenador de solicitud, envíe una solicitud a la dirección URL del punto de conexión del desencadenador.
La acción Transformar XML se ejecuta después de que se desencadene el flujo de trabajo y cuando el contenido XML está disponible para la transformación.
Capacidades avanzadas
Ensamblados de referencia o llamada a código personalizado desde mapas
En flujos de trabajo estándar, la Transformar XML admite la especificación de un objeto de extensión XML que se usará con el mapa.
En la acciónTransformar XML, abra la lista Parámetros avanzados y seleccione Objeto de extensión XML, que agrega el parámetro a la acción.
En el cuadro Objeto de extensión XML, especifique el objeto de extensión, por ejemplo:
Marca de orden de bytes
De manera predeterminada, la respuesta de la transformación se inicia con la marca BOM. Puede acceder a esta funcionalidad solo mientras trabaja en el editor de la vista Código. Para deshabilitar esta funcionalidad, establezca la propiedad transformOptions en disableByteOrderMark:
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.