MethodCall (ejemplo de BizTalk Server)

El ejemplo de MethodCall muestra cómo llamar a un método basado en .NET desde una orquestación de BizTalk Server.

Descripción del ejemplo

Este ejemplo interactúa con un método basado en .NET que utiliza la siguiente secuencia de pasos:

  1. La orquestación de BizTalk Server recupera un archivo de entrada XML de la carpeta In. Este archivo contiene información acerca de las sumas y restas que desea que realice la biblioteca matemática.

  2. La orquestación llama a la biblioteca matemática incluida para realizar la suma o la resta especificada en el archivo de entrada XML.

  3. El método de biblioteca matemática adecuado, ya sea Agregar o Restar, realiza el cálculo solicitado y empaqueta el resultado como un documento XML.

  4. La orquestación coloca el archivo resultante .xml en la carpeta Out.

Cómo se ha diseñado este ejemplo y por qué

El siguiente ejemplo muestra las siguientes funcionalidades:

  • Aprovechar las propiedades promocionadas en una orquestación. Los tres elementos en InputSchema.xsd se promueven como campos distintivos. Cuando la orquestación recibe el mensaje de entrada, obtiene los valores de estos tres campos y los asigna a las variables correspondientes declaradas en la orquestación.

  • Usar la forma Decidir para expresar la lógica "if-then-else" en una orquestación. Una vez que la orquestación asigna los valores de campos distintivos a variables internas, entra en la forma Decidir para comprobar si se debe realizar una suma o resta. Si no se debe realizar ninguna operación, se interrumpe la orquestación.

  • Llamar a un ensamblado externo desde una orquestación. Si se va a realizar una suma, la orquestación llama a un ensamblado externo de C# y pasa en dos parámetros para realizar la suma. Los mismos procedimientos se aplican a una resta.

    Nota

    Debe instalar el ensamblado a la caché de ensamblados global antes de poder llamar al ensamblado desde la orquestación. De lo contrario, recibirá un error XLANG durante el tiempo de ejecución.

  • Usar la forma Asignación de mensajes para construir el mensaje de salida.

  • Coloque el siguiente código en la forma Expresión para depurar la orquestación:

    System.Diagnostics.Debug.WriteLine(iResult);  
    

    También puede escribir el resultado en el registro de eventos utilizando:

    System.Diagnostics.EventLog.WriteEntry("MethodCall SDK Sample Debug", System.String.Format("Result = {0}", iResult);  
    

Ubicación del ejemplo

<Ruta de acceso de> ejemplos\Orchestrations\MethodCall\

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.
Input.xml Archivo de entrada de ejemplo.
Setup.bat Se utiliza para crear e iniciar este ejemplo.
En la carpeta \MathLibrary:

AssemblyInfo.cs, MathHelper.cs, MathLibrary.csproj
Archivos de proyecto y de origen para la biblioteca matemática utilizada en este ejemplo.
En la carpeta \MethodCallSample:

InputSchema.xsd, OutputSchema.xsd
Esquemas para los archivos de entrada y de salida .xml respectivamente.
En la carpeta \MethodCallSample:

MethodCallSample.btproj, MethodCallSample.sln
Archivos de proyectos y de soluciones de este ejemplo.
En la carpeta \MethodCallSample:

MethodCallSampleBinding.xml
Se usa para la configuración automatizada, como el enlace de puertos.
En la carpeta \MethodCallSample:

MethodCallService.odx
Orquestación de BizTalk Server que llama a la biblioteca matemática para realizar el cálculo solicitado.

Crear e inicializar este ejemplo

Para crear e iniciar el ejemplo MethodCall

  1. En una ventana de comandos, desplácese a la siguiente carpeta:

    <Ruta de acceso de> ejemplos\Orchestrations\MethodCall

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

    • Crea las carpetas de entrada (In) y de salida (Out) de este ejemplo en la carpeta MethodCall.

    • Compila los proyectos de Visual Studio para este ejemplo e implementa los ensamblados resultantes.

    • Crea y enlaza la ubicación de recepción de BizTalk Server y los puertos de envío y recepción a la orquestación.

    • Habilita la ubicación de recepción e inicia el puerto de envío. Inscribe e inicia la orquestación.

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.

Ejecución del ejemplo

Para ejecutar el ejemplo de MethodCall

  1. Pegue una copia del archivo Input.xml en la carpeta In.

  2. Observe el archivo .xml que se ha creado en la carpeta Out. Este archivo contiene el resultado del cálculo solicitado de suma o resta. El formato del nombre de este archivo es <MessageID>.xml, donde <MessageID> es el GUID generado para identificar de forma única el mensaje.

  3. Puede modificar el archivo de entrada para solicitar que se realicen cálculos de suma o resta diferentes.

Desinstalar este ejemplo

Para desinstalar el ejemplo MethodCall

  1. En un símbolo del sistema de Visual Studio, cambie el directorio (cd) a <Samples Path>\Orchestrations\MethodCall\.

  2. Ejecute Cleanup.bat.

Consulte también

Orquestaciones (carpetas de ejemplos de BizTalk Server)