biztalk: utilizando el archivo xml del primer nodo para decidir qué mapa usar

Tengo un problema en mi proyecto. Tengo que crear la orquestación y la base del primer nodo del archivo xml. Tengo que decidir qué mapa se usará. ¿Alguna idea de cómo hacerlo?  Intento usar la forma de decisión y al decidir la forma uso la consulta xslt para encontrar el primer nodo igual a un nodo particular, la forma de decisión lo enviará a un mapa particular. ¿Es ese un buen enfoque?

0

2 Respuestas

Aquí hay algunas sugerencias:

  1. Si el esquema se puede resolver con el XmlDisassembler, el motor aplicará el Mapa coincidente en el Puerto de recepción automáticamente.
  2. Si el número de Mapas diferentes es manejable, digamos 4 o 5, y es muy poco probable que cambie, entonces seguro que la forma de decidir es un enfoque viable.
  3. Asegúrese de examinar cuidadosamente las diferencias en los Mapas. He tenido momentos en los que los planificadores creían que los mapas eran significativamente más diferentes que en realidad. Si la diferencia es un puñado de códigos diferentes o campos condicionales, tal vez un mapa pueda manejar todos los casos.
0
agregado
tengo solo 2 mapas, 2 tipos diferentes de archivos xml (primer nodo diferente) No estoy seguro: 1. ¿crear una forma de recepción?
agregado el autor user3014489, fuente
Puedes aclarar Por 'primer nodo' ¿te refieres al elemento de raíz? Si es así, a BizTalk son tipos de mensajes diferentes.
agregado el autor Johns-305, fuente
Como dijo boatseller, si el espacio de nombres o el nodo raíz de los dos archivos xml son diferentes y está utilizando el XMLDisassembler en la canalización de ubicación de recepción, puede tener ambos mapas en el mismo puerto de recepción y BizTalk seleccionará automáticamente el mapa correcto para usar . La otra opción es tener diferentes puertos y ubicaciones de recepción, incluso si provienen de la misma ubicación si puede aplicar una máscara de archivo diferente para cada tipo.
agregado el autor Dijkgraaf, fuente

Otra opción que usaría una ubicación de recepción para cada tipo de mensaje sería usar una forma de escuchar en la orquestación. Cada rama de la escucha esperaría un tipo de mensaje diferente (o nodo raíz como lo pones) y podrías aplicar el mapa apropiado. Entonces, suponiendo que está mapeando a un esquema canónico, el resto de la orquestación sería la misma independientemente del tipo de mensaje de entrada.

escuchar forma.

En la imagen, la orquestación está utilizando una forma de escuchar para escuchar 3 tipos de mensajes. Es principalmente para la capacidad de repetición, cuando la orquestación falla en diferentes etapas, puedo volver a inyectarla en el flujo después de realizar una reparación.

0
agregado
sí, me gustó y me funciona
agregado el autor user3014489, fuente