Componente de resolución de esquemas (ejemplo de BizTalk Server)
En el ejemplo Componente de resolución de esquemas se muestra cómo ampliar la funcionalidad del componente de desensamblador de archivos planos BizTalk Server.
El componente desensamblador de archivos sin formato normalmente requiere que se defina un esquema de análisis en tiempo de diseño. De modo que si espera recibir distintos documentos de archivos sin formato en la misma ubicación de recepción, incluiría varios desensambladores de archivos sin formato en la canalización de recepción, uno por cada esquema. En el tiempo de ejecución, el componente del desensamblador correcto se seleccione mediante un mecanismo de búsqueda de canalizaciones. Sin embargo, este enfoque resulta caro si tiene varios esquemas de archivos sin formato porque la búsqueda de cada componente de desensamblador correspondiente disminuye el rendimiento de la canalización.
Descripción del ejemplo
El componente de resolución de esquema muestra un método alternativo de seleccionar el esquema del componente de desensamblador de archivos sin formato. En este ejemplo, se definen cuatro esquemas y los dos primeros caracteres de un mensaje de cada esquema son únicos. Se define una asignación entre entre los dos primeros caracteres únicos y el esquema correspondiente. Cuando el mensaje de entrada se entrega al componente de resolución de esquema, lee los dos primeros caracteres, determina qué esquema debe utilizarse para el documento correspondiente, guarda la información del esquema en el contexto del mensaje y, a continuación, llama al componente desensamblador de archivos sin formato estándar. El componente desensamblador de archivos sin formato estándar lee la información del esquema desde el contexto del mensaje y utiliza ese esquema para analizar el documento.
Ubicación del ejemplo
<Ruta de acceso> de ejemplos\Pipelines\SchemaResolverComponent\
En la siguiente tabla se incluyen los archivos usados en este ejemplo y se describe el propósito de cada uno de ellos.
Archivos | Descripción |
---|---|
SchemaResolverSample.sln | Solución para el proyecto de BizTalk que ejercita el componente de canalización personalizado. |
SchemaResolverSample.btproj | El proyecto de BizTalk que ejercita el componente de canalización personalizado. |
SchemaResolverRP.btp | Canalización de recepción que contiene el componente personalizado. |
PurchaseOrder.xsd, PurchaseRequest.xsd, SalesOrder.xsd, SalesRequest.xsd | Esquemas de archivos sin formato. |
POInstance.txt, PRInstance.txt, SOInstance.txt, SRInstance.txt | Instancias de documentos de archivos sin formato correspondientes. |
SchemaResolverFlatFileDasm.sln | Solución para la implementación del componente de canalización. |
SchemaResolverFlatFileDasm.csproj | Proyecto C# para la implementación del componente de canalización. |
SchemaResolverFlatFileDasmComp.cs | Implementación del componente de canalización. |
SeekableReadOnlyStream.cs | Implementación de la secuencia de sólo lectura en la que se pueden efectuar búsquedas usada por el componente. |
VirtualStream.cs | Implementación de la secuencia virtual usada por el componente de canalización. |
Crear e inicializar este ejemplo
Utilice el siguiente procedimiento para crear e inicializar el ejemplo del componente de resolución de esquema.
Para generar e inicializar el ejemplo
En una ventana de comandos, cambie el directorio (cd) a la siguiente carpeta:
<Ruta de acceso> de ejemplos\Pipelines\SchemaResolverComponent
Ejecute el archivo Setup.bat que realiza las acciones siguientes:
Genera el componente.
Copia el ensamblado del componente en la carpeta BizTalk \Componentes de canalización.
Crea e implementa el proyecto de BizTalk de ejemplo.
Configura la ubicación de recepción y el puerto de envío, y los inicia.
Nota
Debe confirmar que no se ha informado de errores durante el proceso de creación e iniciación antes de intentar ejecutar este ejemplo.
Ejecución del ejemplo
Utilice el siguiente procedimiento para ejecutar el ejemplo del componente de resolución de esquema.
Para ejecutar el ejemplo
Quite los archivos POInstance.txt, PRInstance.txt, SOInstance.txt y SRInstance.txt en la ruta>< de instalación de ubicación de recepción\SDK\Samples\Pipelines\SchemaResolverComponent\In
Observe los cuatro archivos .xml escritos en la <carpeta Installdir>\SDK\Samples\Pipelines\SchemaResolverComponent\Out.