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 (Estándar)
En escenarios de integración empresarial, como las migraciones de negocio a negocio (B2B) o BizTalk, es posible que tenga que analizar documentos XML. Los flujos de trabajo de aplicaciones lógicas estándar en Azure Logic Apps pueden analizar XML mediante la acción denominada Analizar XML con esquema, que requiere un esquema XSD.
Por ejemplo, supongamos que recibe periódicamente pedidos de cliente o facturas en formato XML. Supongamos que debe acceder a elementos XML individuales directamente en el diseñador de flujos de trabajo para Azure Logic Apps.
Limitaciones
El recurso y el flujo de trabajo de la aplicación lógica de consumo no admiten esta acción.
Requisitos previos
Una cuenta y una suscripción de Azure. Obtenga una cuenta gratuita de Azure.
Flujo de trabajo de aplicación lógica estándar que comienza con un desencadenador para que pueda agregar la acción Analizar XML con esquema al flujo de trabajo.
Un recurso de cuenta de integración en el que se definen y almacenan artefactos, como socios comerciales, contratos, certificados y otros elementos, para su uso en los flujos de trabajo de integración empresarial y B2B. Este recurso debe cumplir los siguientes requisitos:
Está asociada a la misma suscripción de Azure que el recurso de aplicación lógica.
Existe en la misma ubicación o región de Azure que el recurso de la aplicación lógica donde planea usar el Analizar XML con la acción esquema.
Si está trabajando en un Recurso de aplicación lógica estándar y de flujo de trabajo, puede vincular la cuenta de integración al recurso de aplicación lógica, cargar esquemas XSD directamente en el recurso de aplicación lógica, o ambos, 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. No es necesario cargar esquemas XSD en cada aplicación lógica individual. Para más información, consulte Vinculación del recurso de aplicación lógica a la cuenta de integración.
Si no tiene una cuenta de integración o solo tiene previsto usar los artefactos en varios flujos de trabajo dentro del mismo recurso de aplicación lógica, puede agregar directamente esquemas al recurso de aplicación lógica mediante Azure Portal o Visual Studio Code.
Si no tiene o no necesita una cuenta de integración, puede usar la opción de carga. De lo contrario, use 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, si usa las operaciones AS2, X12 y EDIFACT .
Esquema XSD que se va a usar con el Analizar XML con la acción de esquema. Asegúrese de que este esquema incluye un elemento raíz, que tiene el aspecto del ejemplo siguiente:
<xs:element name="Root"> <....> </xs:element>
Agregar un XML de análisis con una acción de esquema
En Azure Portal, abra su aplicación lógica estándar y el flujo de trabajo en el diseñador.
Si tiene un flujo de trabajo en blanco que no tiene un desencadenador, siga estos pasos generales para agregar cualquier desencadenador que desee. De lo contrario, continúe con el paso siguiente.
En este ejemplo se usa el desencadenador Request.
En el paso del flujo de trabajo en el que desea agregar la acción Analizar XML con esquema, siga estos pasos generales para agregar la acción denominada Analizar XML con el esquema.
En el cuadro Contenido , especifique el contenido XML que desea analizar mediante cualquier dato XML que reciba en la solicitud HTTP.
Para seleccionar salidas de las operaciones anteriores en el flujo de trabajo, en la acción Analizar XML con esquema, seleccione 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 analizar.
En este ejemplo se selecciona el token Cuerpo del desencadenador.
En la lista Origen, seleccione la ubicación donde cargó el esquema XSD, ya sea el recurso de LogicApp o el IntegrationAccount.
En la listaNombre, seleccione el esquema XSD.
Cuando haya terminado, guarde el flujo de trabajo.
Ya ha terminado de configurar el Analizar XML con la acción esquema. En una aplicación real, es posible que quiera almacenar los datos analizados en una aplicación de línea de negocio (LOB), como Salesforce. Para enviar la salida analizada a Salesforce, agregue una acción de Salesforce.
Para probar la acción de análisis, desencadene y ejecute el flujo de trabajo. Por ejemplo, para el desencadenador Solicitud, envíe una solicitud a la dirección URL del punto de conexión del desencadenador.
La acción Analizar XML con esquema se ejecuta después de que se desencadene el flujo de trabajo y cuando el contenido XML esté disponible para el análisis.
Parámetros avanzados
En la tabla siguiente se describen los parámetros avanzados disponibles en esta acción:
| Parámetro | Value | Descripción |
|---|---|---|
| Procesamiento de DTD |
-
Ignorar - Analizar - Prohibir |
Especifique cómo controlar la definición de tipo de documento XML (DTD). |
| Normalizar XML | Sí o No | Si se debe normalizar el contenido XML. |
| Omitir espacios en blanco | Sí o No | Si se va a analizar o omitir espacios en blanco insignificantes, como espacios, pestañas y líneas en blanco en documentos XML. |
| ¿Omite las instrucciones de procesamiento XML? | Sí o No | Si se deben seguir o omitir las instrucciones de procesamiento XML. |
| Omitir atributos XML | Sí o No | Si se van a escribir o omitir atributos XML. |
| ¿Usar nombres completos? | Sí o No | Si se usan nombres locales más sencillos o nombres XML completos. |
| Nombre completo del nodo raíz | < nombre-calificado-del-nodo-raíz> | El nombre completo del nodo raíz en caso de que el esquema contenga varias definiciones de elementos sin referencia. |
Solucionar problemas
En esta sección se describen los problemas que pueden surgir y posibles soluciones o soluciones alternativas para solucionar estos problemas.
El orden del elemento XML no se conserva
Si el XML tiene elementos repetidos que aparecen en orden mixto, es posible que la acción Analizar XML con esquema no conserve el orden original y agrupe estos elementos por su nombre en orden alfabético.
Este comportamiento se espera porque la acción Analizar XML con esquema convierte el XML en JSON. Este formato no tiene una manera de representar una sola lista ordenada con diferentes tipos de elementos. En su lugar, la acción agrupa los elementos por nombre en orden alfabético.
Por ejemplo, supongamos que tiene elementos con los siguientes nombres en este orden específico: A, B, , BA:
antes de
<Items>
<A>1</A>
<B>2</B>
<A>3</A>
<B>4</B>
</Items>
Una vez que la acción analiza el XML, los grupos JSON resultantes y reordena estos elementos por nombre como se indica a continuación: A, A, By B:
después de
{
"A": ["1", "3"],
"B": ["2", "4"]
}
La acción Analizar XML con esquema no tiene ninguna configuración que conserve el orden de los elementos repetidos mixtos. Esta limitación resulta de la conversión de XML a JSON.
En la lista siguiente se describen las opciones para corregir o solucionar este problema:
Si controla el esquema, diseñe el esquema para que solo tenga una lista de repetición sin varios tipos de elementos repetidos.
Por ejemplo, en lugar de repetir
Apor separado yB, use un único elemento contenedor de repetición, comoItem. Cada elemento indica siAoBestá representado. Después, el sistema puede mantener todos los elementos en una sola lista ordenada y conservar el orden original. Esta opción es la mejor para el comportamiento predecible a largo plazo.Si el orden original es necesario o crítico, no analice el XML.
- Evite dividir el XML en JSON.
- Controle el documento XML como un todo.
- Pase el documento XML sin cambios o transforme el contenido mediante herramientas basadas en XML como XSLT.
Tenga en cuenta esta limitación.
Si no puede cambiar el esquema o el flujo de trabajo, recuerde lo siguiente:
- Los elementos repetidos mixtos se agrupan por nombre de elemento, lo que pierde el orden original.
- Diseñe la lógica descendente teniendo en cuenta este comportamiento.