3.29.2017

Trabajando JSON en BizTalk Server 2016 – Parte 2

Continuando con los post acerca de trabajar documentos JSON en BizTalk Server 2016, vamos a proceder a crear un ejemplo donde se recibe un documento XML y se rutea a un folder donde lo vamos a dejar convertido a un documento JSON.

Ejemplo

En este ejemplo, vamos a crear un puerto de ingreso donde se recibe un documento XML (el mismo que convertimos en el ejemplo del post anterior) tal y como lo muestra la siguiente figura.

image

Iniciamos creando un puerto de una vía por donde ingresará este documento XML utilizando el pipelines estándar de PassThru.

image

Ahora procedemos a crear el puerto de salida de una vía con dos condiciones importantes. La primera de esas condiciones es utilizar el pipeline de envío JSON que creamos en el proyecto JSONPipelines del post anterior tal y como se muestra en la siguiente figura.

image

La segunda condición es agregar un filtro para rutear el mensaje XML desde el puerto de recibo al puerto de envío utilizando la propiedad ReceivePortName tal y como se ve en la siguiente figura.

image

Seguidamente procedemos a activar los puertos de envío y recibo y enviamos el mensaje XML de prueba mostrado al inicio de este post. Como vemos en la siguiente figura, el documento fue enviado al puerto especificado en formato JSON.

image

3.28.2017

Trabajando JSON en BizTalk Server 2016 – Parte 1

Uno de las nuevas características en BizTalk 2016 es la adición de componentes para pipeline para manejar el formato JSON(codificar/decodificar) tanto para consumir como para enviar mensajes JSON. En este post vamos a ver como trabajar el formato JSON en BizTalk Server 2016 a nivel de pipelines.

Ejemplo

Inicialmente, vamos a crear una pequeña orquestación que recibe un documento JSON y lo decodifica a un documento XML para direccionarlo a otro puerto en formato XML. Por facilidad del ejemplo, la orquestación funcionara con adaptadores FILE tanto para iniciar la orquestación como para enviar la respuesta.

Primero vamos a crear un proyecto que solo va a contener todos los pipelines (los que vamos a ir usando en esta serie de posts) y creamos un pipeline para decodificar un mensaje JSON a XML y otro para codificar un mensaje XML en un mensaje JSON. El primer pipeline se puede ver en la siguiente figura.

image

En el siguiente paso procedemos a publicar el aplicativo BizTalk para que estos pipelines queden disponibles para otras aplicaciones. Seguidamente procedemos a crear una aplicación BizTalk y agregamos como referencia el aplicativo recientemente publicado.

Ahora procedemos a crear un puerto de recibo donde vamos a configurar el pipeline para recibir el documento JSON tal y como se ve en la siguiente figura.

image

El primer paso es configurar el adaptador FILE(1), seguidamente seleccionamos el pipeline que creamos en el proyecto común y agregamos como referencia(2),  luego vía el botón elipse procedemos a configurar el pipeline(3). En este caso debemos definir el nodo raíz y seguidamente proceder a crear un namespace ya que el documento XML así lo va a requerir(4).

Ahora procedemos a crear un puerto de envío que tiene la particularidad de que utiliza un filtro para rutear el mensaje recibido JSON, solo que vamos a usar el pipeline passthru para grabarlo en el directorio tal y como viene decodificado.

image

Luego de este paso ya estamos listos, arrancamos el aplicativo y procedemos a realizar la prueba con el siguiente archivo.

image

La salida resultante será en formato XML tal y como se ve en la siguiente figura.

image