Establecer el nombre de fichero en un puerto de salida utilizando el adaptador FILE

Hoy me ha preguntado un cliente lo siguiente ¿Cómo puedo personalizar el nombre del fichero de salida utilizando el adaptador FILE proporcionado por defecto en BizTalk Server? mi respuesta fue sencilla, lo siento no dispones de un mecanismo directo. No obstante, dado que parte de mi trabajo es dar una solución me puse manos a la obra y obtuvimos el resultado esperado ¿Cómo? primero miramos la lista de macros disponibles para el adaptador FILE, analizando el origen de los datos que representa:

  • %datetime%
  • %time% 
  • %DestinationPartyID%
  • %SourcePartyID%
  • %MessageID%
  • %SourceFileName%
  • entre otros

 y eureka!!!! la macro %SourceFileName% obtiene su valor de la propiedad ReceivedFileName (espacio de nombres: https://schemas.microsoft.com/BizTalk/2003/file-properties) por lo cual podemos reutilizado mediante la técnica de la sobreescritura de la información almacenada en el contexto. Esto quiere decir que si se compone el nombre de fichero deseado y se almacena su valor en esta propiedad, en el puerto de salida que utilice como transporte el adaptador FILE de BizTalk Server con solo indicar en la ventana de propiedades como nombre de fichero (File Name) la macro %SourceFileName% tendremos el resultado esperado, o lo que es lo mismo un fichero de salida cuyo nombre ha sido personalizado :) 

Para más información sobre como sobreescribir propiedades de contexto os recomiendo que visiten los siguientes enlaces: