HTTPSolicitResponse
En el ejemplo HTTPSolicitResponse se muestra cómo crear una orquestación de Microsoft BizTalk Server que aprovecha una aplicación de ASP.NET para ayudar a procesar los datos de orquestación. En este ejemplo, la orquestación hace uso de un puerto de solicitud y respuesta para enviar un mensaje a la aplicación ASP.NET y para recuperar la respuesta. La integración entre la orquestación de BizTalk Server y la aplicación ASP.NET se consigue mediante el adaptador de HTTP. Para obtener más información, consulte Adaptador HTTP.
Descripción del ejemplo
Este ejemplo se compone de una orquestación de BizTalk Server que recibe una solicitud con dos números que se van a multiplicar, y satisface la solicitud mediante la secuencia de pasos siguiente:
La orquestación de BizTalk Server recupera un archivo de entrada .xml de una carpeta concreta.
La orquestación usa una solicitud HTTP para reenviar el XML desde el archivo a una aplicación ASP.NET de multiplicador.
La aplicación ASP.NET de multiplicador responde a la solicitud HTTP realizando la multiplicación y devolviendo el resultado como XML en la respuesta HTTP.
La orquestación recibe el resultado como XML en una respuesta HTTP y escribe dicho resultado en un archivo .xml en una carpeta concreta.
Ubicación del ejemplo
<Ruta de acceso de> ejemplos\AdaptersUsage\HTTPSolicitResponse
En la tabla siguiente se enumeran los archivos del ejemplo y se describe su propósito.
Archivos | Descripción |
---|---|
Cleanup.bat | Anula la implementación de ensamblados y los elimina de la caché de ensamblados global (GAC); elimina puertos de envío y de recepción; elimina directorios virtuales de los Servicios de Microsoft Internet Information Server (IIS) según sea necesario. |
HttpSolicitResponse.btproj, HttpSolicitResponse.sln | Proporciona archivos del proyecto y de origen para el proyecto de BizTalk que contiene la orquestación que usa la aplicación ASP.NET de multiplicador, los esquemas asociados, etc. |
HttpSolicitResponseBinding.xml | Proporciona una configuración automatizada, como el enlace de puertos. |
MultiplyRequest.xsd, MultiplyResponse.xsd | Proporciona esquemas para la solicitud de multiplicación y los mensajes XML de respuesta, respectivamente. |
MultiplyTwoIntegers.odx | Proporciona una orquestación de BizTalk Server que recibe un archivo .xml que solicita una operación de multiplicación, reenvía la solicitud a la aplicación ASP.NET de multiplicador y escribe su respuesta en un archivo. |
request_in.xml | Archivo de entrada de ejemplo. |
Setup.bat | Crea e inicializa este ejemplo. |
En la carpeta \Multiplier: Multiplier.aspx, Multiplier.aspx.cs, Multiplier.sln |
Contiene archivos que forman la aplicación ASP.NET que implementa el servicio de multiplicador, incluidos los archivos del proyecto y de la solución, archivos ASPX, archivos de origen de Microsoft Visual C# .NET, etc. |
Crear e inicializar el ejemplo
Utilice el siguiente procedimiento para crear e inicializar el ejemplo HTTPSolicitResponse.
Nota
Si el nombre de la ubicación de recepción contiene caracteres en mayúscula, el ejemplo no funcionará.
Para crear e iniciar el ejemplo
En una ventana de comandos, desplácese a la siguiente carpeta:
<Ruta de acceso de> ejemplos\AdaptersUsage\HTTPSolicitResponse
Ejecute el archivo Setup.bat que realiza las acciones siguientes:
Crea las carpetas de entrada y de salida para este ejemplo:
<Ruta de acceso de> ejemplos\AdaptersUsage\HttpSolicitResponse\HttpSolicitResponseInput
<Ruta de acceso de> ejemplos\AdaptersUsage\HttpSolicitResponse\HttpSolicitResponseOutput
Compila y configura la aplicación ASP.NET de multiplicador que usa este ejemplo.
Nota
Al crear un grupo de aplicaciones en el Administrador de IIS, establezca la versión defaultAppPool de .NET Framework en .Net Framework v4.0.
Compila e implementa la orquestación de BizTalk Server usada en este ejemplo.
Crea y enlaza los puertos y la ubicación de recepción de BizTalk Server necesarios.
Nota
Este ejemplo muestra las siguientes advertencias al crear y enlazar los puertos:
Nota
Warning: Receive handler not specified for receive location "HttpSolicitResponseReceiveLocation"; updating with first receive handler with matching transport type.
Nota
Warning: Host not specified for orchestration "Microsoft.Samples.BizTalk.HttpSolicitResponse.MultiplyTwoIntegers"; updating with first available host.
Habilita la ubicación de recepción e inicia el puerto de envío.
Nota
La orquestación de este ejemplo usa un puerto bidireccional para la interacción HTTP con la aplicación ASP.NET.
Nota
Debe confirmar que BizTalk no ha informado de ningún error durante el proceso de generación e inicialización antes de intentar ejecutar este ejemplo.
Nota
Si opta por abrir y crear los proyectos de este ejemplo sin ejecutar el archivo 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 los ensamblados resultantes.
Nota
Para deshacer los cambios realizados por Setup.bat, ejecute Cleanup.bat. Debe ejecutar Cleanup.bat antes de ejecutar Setup.bat por segunda vez.
Ejecutar el ejemplo
Utilice el siguiente procedimiento para ejecutar el ejemplo HTTPSolicitResponse.
Para ejecutar el ejemplo
Pegue una copia del archivo request_in.xml en la carpeta HttpSolicitResponseInput.
Observe el archivo .xml creado en la carpeta HttpSolicitResponseOutput. El nombre de este archivo .xml se basa en el GUID de Id. del mensaje. Este archivo contiene el resultado de la operación de multiplicación con formato XML.
Nota
Para realizar una operación de multiplicación diferente, puede cambiar los valores de los operandos en el archivo de entrada.
Comentarios
Puede adaptar este ejemplo para comunicarse con un sistema externo diferente que muestre una interfaz HTTP.
Los archivos MultiplyRequest.xsd y MultiplyResponse.xsd son los esquemas XML que definen el formato de los datos de entrada y salida para la aplicación ASP.NET de multiplicador. La orquestación usa estos archivos para definir los tipos de mensajes de solicitud y respuesta.