Compartir a través de


Ampliar asignador (ejemplo de BizTalk Server)

El ejemplo de ampliación de asignador muestra cómo usar y ampliar el asignador de BizTalk. El ejemplo incluye varios archivos de asignación de BizTalk Server (.btm), cada uno de los cuales muestra distintas características de Asignador de BizTalk.

Descripción del ejemplo

El ejemplo de ampliación de asignador usa el enrutamiento por contenidos (CBR) y no utiliza una orquestación. Mediante la especificación de un filtro en el puerto de envío de ejemplo, se conecta directamente al puerto de recepción de ejemplo. Se especifica una asignación en el puerto de envío que se va a aplicar al documento procesado.

Ubicación del ejemplo

<Ruta de acceso> de ejemplos\XmlTools\ExtendMapper

En la tabla siguiente se enumeran los archivos del ejemplo y se describe su propósito.

Archivos Descripción
MapperClassLibrary\AssemblyInfo.cs, MapperClassLibrary\MapperClassLibrary.csproj, MapperClassLibrary\MapperHelper.cs, MapperClassLibrary\MapperClassLibrary.sln Archivo de proyecto de Microsoft® Visual Studio® y archivos de origen de Visual C#®.
Cleanup.bat Se utiliza para anular la implementación de ensamblados y quitarlos de la caché de ensamblados global (GAC).
Destination.xsd Archivo de esquema.
ExtendingMapper.btproj, ExtendingMapper.sln Proyecto de BizTalk y archivos de solución para este ejemplo.
ExtendingMapper.xml XML de origen.
ExtendingMapperBinding.xml XML de enlace.
ExternalAssembly.xml XML de ensamblado externo.
OverridingMapXslt.btm Archivo de asignación.
OverridingMapXslt.xml XML de asignación de reemplazos.
OverridingMapXslt.xslt Hoja de estilo de asignación de invalidación.
Scriptor_CallExternalAssembly.btm Archivo de asignación de ejemplo.
Scriptor_GlobalVariableInInlineScript.btm Archivo de asignación de ejemplo.
Scriptor_InlineScripts.btm Archivo de asignación de ejemplo.
Scriptor_InlineXslt.btm Archivo de asignación de ejemplo.
Scriptor_InlineXsltCallingExternalAssembly.btm Archivo de asignación de ejemplo.
Scriptor_XsltCalltemplate.btm Archivo de asignación de ejemplo.
Setup.bat Se utiliza para crear e inicializar el ejemplo.
Source.xsd Archivo de esquema.

Crear e inicializar este ejemplo

Utilice el siguiente procedimiento para crear e inicializar el ejemplo de ampliación de asignador.

Para generar e inicializar el ejemplo

  1. En una ventana de comandos, cambie el directorio (cd) a la siguiente carpeta:

    <Ruta de acceso> de ejemplos\XmlTools\ExtendMapper

  2. Ejecute el archivo Setup.bat que realiza las acciones siguientes:

    • Crea las carpetas de entrada (\In) y de salida (\Out) para este ejemplo.

    • Compila e implementa 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.

      Si desea usar las asignaciones Scriptor_CallExternalAssembly.btm o Scriptor_InlineXsltCallingExternalAssembly.btm, abra ExtendingMapper.sln en Visual Studio y realice las siguientes modificaciones (de lo contrario, vaya al paso 3):

    1. En el Explorador de soluciones, abra Scriptor_CallExternalAssembly.btm.

    2. En la cuadrícula de asignador, seleccione el functoid de secuencias de comandos.

    3. En la cuadrícula de propiedades, seleccione la propiedad Script y haga clic en el botón de puntos suspensivos (...) para configurar el script functoid.

    4. En el cuadro de diálogo Configurar functoid scripting , seleccione la configuración del functoid script y especifique lo siguiente:

      Establezca A esto
      Tipo de script Ensamblado externo
      Ensamblado de script Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary
      Script (clase) Microsoft.Samples.BizTalk.ExtendingMapper.MapperHelper
      Script (método) MyConcat
    5. En el menúArchivo de Visual Studio, elija Guardar para guardar los cambios en el archivo de asignación y cierre la solución.

  3. Presione cualquier tecla para continuar con Setup.bat.

    Importante

    Si desea usar Scriptor_InlineXsltCallingExternalAssembly.btm, debe editar el archivo ExternalAssembly.xml. BizTalk usa ExternalAssembly.xml para asignar un espacio de nombres registrado de objeto de extensión de asignador a un ensamblado .NET. Puesto que se hace referencia al ensamblado dependiente por su nombre completo (incluido el token de clave pública, que se genera de forma automática), debe actualizar este valor. Si no desea usar Scriptor_InlineXsltCallingExternalAssembly.btm, no es necesario completar los pasos de la a a la e.

  4. En el Explorador de Windows, vaya a <Carpeta>\ensamblado de Windows\.

    1. Haga clic con el botón derecho en Microsoft.Samples.BizTalk.ExtendMapper.MapperClassLibrary y seleccione Propiedades.

    2. Copie el valor del token de clave pública.

    3. En un editor de texto, abra <Samples Path>\XML Tools\ExtendingMapper\ExternalAssembly.xml.

    4. Seleccione assemblyName="Microsoft.Samples.BizTalk.ExtendMapper.MapperClassLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=68496d20c737d84b"attribute y reemplace el valor publicKeyToken por el valor del token de clave pública que copió en el paso c.

    5. Guarde y cierre ExternalAssembly.xml.

    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.

Para configurar, dé de alta e inicie el puerto de envío

  1. Haga clic en Inicio, seleccione Todos los programas, Microsoft BizTalk Server y, después, BizTalk Server Administración.

  2. En la consola de administración de BizTalk Server, haga clic para expandir BizTalk Server Administración, haga clic para expandir Grupo de BizTalk [<nombreServidor>:<base de datos> de administración] y haga clic para expandir Aplicaciones.

  3. Haga clic para expandir ExtendMapperApplication y, a continuación, haga clic en Puertos de envío.

  4. En el panel derecho, haga clic con el botón derecho en Puertos de envío y, a continuación, haga clic en Propiedades.

  5. En el cuadro de diálogo ExtendMapperSP – Send Port Properties (Propiedades del puerto de envío ), haga clic en la página Asignaciones salientes .

    En la columna Mapa , seleccione el mapa necesario en la lista desplegable y, a continuación, haga clic en Aceptar. Las asignaciones se describen en la siguiente tabla.

    Asignar para aplicar propiedad Descripción
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_CallExternalAssembly Muestra cómo llamar a una función en un ensamblado de .NET externo desde un functoid scripting en un mapa, en función de los parámetros de entrada a este functoid. Esto ayuda a separar de forma clara la lógica de procesamiento del archivo de asignación. Este archivo de asignación usa el ensamblado MapperClassLibrary.dll que se proporciona con este ejemplo.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineScripts Muestra cómo escribir scripts sencillos en línea dentro de functoids scripting en un archivo de mapa mediante lenguajes .NET como C#, Visual Basic.NET y JScript.NET.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_GlobalVariableInInlineScript Muestra cómo usar variables globales en los scripts insertados de functoids scripting . Las variables globales se suelen usar para mantener la información de estado en un archivo de mapa en distintos functoids de scripting .
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineXslt Muestra cómo construir la estructura en el documento de destino mediante XSLT en línea sin formato dentro de un functoid scripting en el mapa. Puede construir algunas partes del documento de destino mediante functoids scripting con XSLT insertado siempre que no sea posible hacerlo en el asignador de BizTalk mediante otros functoids.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_XsltCalltemplate Muestra cómo crear una estructura en el documento de destino mediante una plantilla de llamada XSLT dentro de un functoid scripting en el mapa. La ventaja de una plantilla de llamada XSLT sobre XSLT insertada es que la plantilla de llamada puede aceptar parámetros, por lo que puede crear la estructura basada en parámetros de entrada en el functoid Scripting . Puede construir algunas partes del documento de destino mediante functoids scripting con XSLT insertado siempre que no sea posible hacerlo en el asignador de BizTalk mediante otros functoids.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineXsltCallingExternalAssembly Muestra cómo llamar a un ensamblado de .NET externo desde dentro del XSLT insertado de un functoid scripting en un mapa. Explica cómo puede invalidar la propiedad XML de extensión personalizada de la cuadrícula asignador de BizTalk con el archivo de extensión personalizado ExternalAssembly_extxml.xml que contiene los detalles del ensamblado de .NET externo que se va a invocar. Puede construir algunas partes del documento de destino mediante functoids scripting con XSLT insertado siempre que no sea posible hacerlo en la interfaz de usuario del asignador mediante otros functoids.
    Microsoft.Samples.BizTalk.ExtendingMapper. OverridingMapXslt Muestra cómo invalidar por completo el XSLT compilado del archivo de Asignador de BizTalk con un archivo XSLT personalizado. Para ello, invalide la propiedad Ruta de acceso XSL personalizaday, opcionalmente, la propiedad XML de extensión personalizada de la cuadrícula asignador de BizTalk. El archivo XSLT personalizado proporcionado se incluye en el ensamblado de BizTalk Server compilado del proyecto que desee usar en tiempo de ejecución. En este caso, se omite el contenido del archivo de asignación (.btm). Este archivo de mapa usa OverridingMapXslt.xslt y OverridingMapXslt.xml para las propiedades XSL Custom XSL Path y Custom Extension XML , respectivamente.

    Es posible validar un archivo de asignación en el Explorador de soluciones. Después, puede usarlo como un archivo de plantilla que puede editar y usar para la propiedad Ruta de acceso XSL personalizada de la cuadrícula asignador de BizTalk. Puede recurrir a esta opción siempre que no sea posible producir este XSLT mediante el Asignador de BizTalk.

Ejecución del ejemplo

Utilice el siguiente procedimiento para ejecutar el ejemplo de ampliación de asignador.

Para ejecutar el ejemplo

  1. Copie el archivo de entrada ExtendingMapper.xml en la carpeta de entrada en <Samples Path>\XmlTools\ExtendingMapper\In.

  2. Observe cómo se transforma y enruta el archivo a la <carpeta Samples Path>\XmlTools\ExtendingMapper\Out. La transformación que se produce se basa en la asignación que ha aplicado.

Consulte también

Herramientas XML (carpeta de ejemplos de BizTalk Server)