FlatFileSend (ejemplo de BizTalk Server)
El ejemplo FlatFileSend muestra cómo puede usar BizTalk Server para procesar un archivo XML en el archivo sin formato equivalente.
Descripción del ejemplo
Este ejemplo configura la carpeta FFInput como ubicación de recepción. Cuando se coloca un archivo, como el archivo de ejemplo FlatFileSend_in.xml, en esta carpeta, BizTalk Server procesa el mensaje de este archivo mediante los siguientes pasos:
BizTalk Server lee el mensaje del archivo de entrada en la carpeta FFInput de la ubicación de recepción.
El mensaje pasa a través de una canalización de recepción XML.
En la base de datos de cuadro de mensajes, el mensaje se enruta a un puerto de envío de archivos que tiene una canalización de envío configurada con un componente Ensamblador de archivo sin formato. El componente Ensamblador de archivo sin formato convierte el mensaje XML en una representación de archivo sin formato equivalente mediante un esquema de archivo sin formato.
BizTalk Server escribe el mensaje convertido en un archivo de texto en la carpeta FFOutput del adaptador de envío.
Cómo se ha diseñado este ejemplo y por qué
El mensaje de ejemplo determina la mayor parte del diseño básico de este ejemplo. Los mensajes de archivos sin formato se deben ensamblar con el Ensamblador de archivo sin formato y un esquema de archivo sin formato en la canalización de envío personalizada. Estos y otros elementos de diseño se resumen en la siguiente tabla.
Elemento de diseño | Razones seleccionadas |
---|---|
Canalización de envío personalizada | - La canalización personalizada usa el ensamblador de archivos planos y un esquema de archivo plano para traducir los mensajes de instancia en formato de archivo plano; El ensamblador de archivos planos no es en sí mismo una canalización y no se puede usar al configurar una canalización de envío en la consola de administración de BizTalk Server. |
Esquema de archivos sin formato | : define todas las mismas características de registro y campo (incluida la estructura) que un esquema XML y proporciona un mecanismo para definir todas las características de archivo plano necesarias para traducir un mensaje de instancia XML en un mensaje de archivo plano (o viceversa). |
Filtro de suscripción | - El filtro de suscripción realiza el enrutamiento real mediante la captura de mensajes que cumplen uno o varios criterios basados en campos de propiedad. |
XMLReceive | - Realiza el procesamiento de mensajes XML entrantes. Para este ejemplo se utiliza una representación XML de un pedido de compra como mensaje de origen. |
Estos elementos se combinan para producir una solución que acepta mensajes de pedido de compra en formato XML en la ubicación de recepción y escribe un pedido de compra de archivo sin formato en la ubicación de envío.
Ubicación del ejemplo
<Ruta de acceso> de ejemplos\Pipelines\AssemblerDisassembler\FlatFileSend
En la tabla siguiente se enumeran los archivos del ejemplo y se describe su propósito.
Archivos | Descripción |
---|---|
Cleanup.bat | Se utiliza para anular la implementación de ensamblados y quitarlos de la caché de ensamblados global. Quita los puertos de envío y recepción. Quita los directorios virtuales de los Servicios de Microsoft Internet Information (IIS) según sea necesario. |
FlatFileSend.btproj, FlatFileSend.sln | Archivos de proyectos y de soluciones de este ejemplo. |
FlatFileSendBinding.xml | Se usa para la configuración automatizada, como el enlace de puertos. |
FlatFileSend_in.xml | Archivo de entrada de ejemplo. |
PO.xsd | Esquema del archivo sin formato saliente. |
SendPipeline.btp | Archivo de canalización de envío de BizTalk Server con el componente Ensamblador de archivo sin formato. |
Setup.bat | Se utiliza para crear e iniciar este ejemplo. |
Uso del ejemplo
Use este ejemplo como base para su propia solución de procesamiento de archivos sin formato. Puede ampliar muchos de los elementos de diseño usados en este ejemplo para cumplir sus propios requisitos.
Crear e inicializar este ejemplo
En una ventana de comandos, desplácese a la siguiente carpeta:
<Ruta de acceso> de ejemplos\Pipelines\AssemblerDisassembler\FlatFileSend
Ejecute el archivo Setup.bat que realiza las acciones siguientes:
Crea la carpeta de entrada (FFInput) y la carpeta de salida (FFOutput) para este ejemplo en la carpeta:
<Ruta de acceso> de ejemplos\Pipelines\AssemblerDisassembler\FlatFileSend
Compila el proyecto de Visual Studio para este ejemplo.
Crea y enlaza la ubicación de recepción de BizTalk Server y los puertos de envío y recepción.
Nota
En este ejemplo se muestran las siguientes advertencias al crear y enlazar los puertos:
Warning: Receive handler not specified for receive location "FlatFileSend_RL"; updating with first receive handler with matching transport type. Warning: Host not specified for orchestration "FlatFileSend"; updating with first available host.
puede omitir estas advertencias de forma segura. (Para dar cabida a posibles diferencias de nombre en las instalaciones de usuario, se han omitido del archivo de enlace el nombre del host y el controlador de recepción).Habilita la ubicación de recepción e inicia el puerto de envío.
Nota
Debe confirmar que BizTalk Server no ha notificado ningún error durante el proceso de generación e inicialización antes de intentar ejecutar este ejemplo.
Nota
Si selecciona abrir y crear el proyecto de este ejemplo sin ejecutar Setup.bat, debe crear, en primer lugar, un par de claves de nombre seguro mediante la utilidad de nombre seguro de .NET Framework (sn.exe). Utilice este par de claves para firmar el ensamblado resultante.
Nota
Para deshacer los cambios realizados por Setup.bat, ejecute Cleanup.bat. Debe ejecutar Cleanup.bat antes de ejecutar Setup.bat por segunda vez.
Ejecución del ejemplo
Guarde una copia del archivo FlatFileSend_in.xml en la carpeta FFInput.
Observe el archivo de texto creado en la carpeta FFOutput. El nombre del archivo de texto se basa en el GUID de Id. del mensaje. Este archivo contiene el equivalente de archivo sin formato del archivo de entrada XML FlatFileSend_in.xml.
Clases o métodos usados en el ejemplo
Las secuencias de comandos de configuración Setup.bat y Cleanup.bat se basan en las siguientes secuencias de comando administrativas del instrumental de administración de Windows (WMI):
Iniciar puerto de envío\StartSendPort.vbs
Habilitar ubicación de recepción\EnableRecLoc
Quitar puerto de envío\RemoveSendPort
Los archivos por lotes de instalación y de limpieza usan BTSTask de la siguiente forma:
BTSTask ImportBindings para aplicar el archivo de enlace y crear la aplicación, los puertos y los enlaces
BTSTask RemoveApp para quitar FlatFileSendApplication
Consulte también
- Esquemas de archivos sin formato
- Canalizaciones predeterminadas
- Pipelines\AssemblerDisassembler (carpeta de ejemplos de BizTalk Server)
- Ejemplos de script de WMI en la guía de interfaz de usuario y la referencia del espacio de nombres de la API de desarrolladores
- Referencia de línea de comandos de BTSTask
- FlatFileReceive (ejemplo de BizTalk Server)