Desmontar array en un puerto de Biztalk

Después de crear mi primera aplicación con Biztalk estoy viendo infinidad de formas de mejorarla. Aquí explicaré como me "ahorro" toda una orquestación configurando un puerto y un schema de una manera determinada

ANTES:

Había que pedir un array de mensajes a un servicio y luego desmontarlo, mi solución fue un clásico bucle



DESPUÉS:

Gracias a este artículo, vi como conseguir que entraran los mensajes uno por uno. Básicamente los pasos necesarios son:

- Crear un ReceivePort del tipo Scheduler que vaya generando llamadas
- Crear un SendPort TwoWay que ataque al servicio, con un filtro para que le vayan entrando las llamas creadas por el Scheduler
- Recibir los mensajes de respuesta directamente en la orquestación con un Direct Port y un Receive Message con filtro
- Editar los esquemas del paquete en cuestión, de la siguiente forma:

El nodo Schema le activamos el modo Envelope

2010.4.8sql12

Editamos el XPATH del nodo raiz y le hacemos apuntar al nodo superior al nodo leaf

2010.4.8sql13

Finalmente, el nodo leaf le cambiamos el MaxOccurrence a 1

Saludos!