Ejecución del ejemplo de procesamiento de ESB de enrutamiento de mensajes de error de BizTalk
El ejemplo de procesamiento de ESB de enrutamiento de mensajes con error de Microsoft BizTalk muestra cómo puede usar el marco de administración de excepciones del kit de herramientas de MICROSOFT BizTalk ESB como mecanismo universal para administrar, serializar y representar excepciones en todas las condiciones de BizTalk Server. Esto incluye las excepciones generadas por el mecanismo de enrutamiento de mensajes con error de BizTalk y los mensajes de error generados por el marco de administración de excepciones desde una orquestación.
El mecanismo de enrutamiento de mensajes con error de BizTalk es la instalación de control de errores de BizTalk Server; mediante su uso, el diseñador puede designar el control automatizado de errores de mensajería como alternativa al comportamiento tradicional (ahora predeterminado) de colocar mensajes con error en la cola "Suspendida". Este control automatizado enruta un mensaje de error a cualquier destino de enrutamiento de suscripción, como un puerto de envío o una orquestación. El mensaje de error es un clon del mensaje original con todas las propiedades promocionadas anteriormente degradadas y con las propiedades seleccionadas relacionadas con el error de mensajería específico promocionado en el contexto del mensaje.
Para habilitar el mecanismo de enrutamiento de mensajes con error de BizTalk en un puerto de recepción o un puerto de envío, active la casilla Habilitar enrutamiento para mensajes con error , como se muestra en la figura 1.
Ilustración 1
Habilitación del mecanismo de enrutamiento de mensajes con error de BizTalk
Sin embargo, no hay un mecanismo similar para los errores o errores que se producen en una orquestación. En su lugar, el código dentro del controlador de excepciones de una orquestación puede aprovechar la API del marco de administración de excepciones para emular la funcionalidad del mecanismo de enrutamiento de mensajes con error de BizTalk.
En este ejemplo, la ubicación de recepción denominada EAIProcess.RequestPort_FILE recoge los archivos copiados en la ubicación \Source\Samples\Exception Handling\Test\Filedrop\EAIProcess.RequestPort.
Además, hay un puerto de envío genérico denominado ALL. Exceptions_FILE configurado para usar la canalización GlobalFaultProcessor instalada como parte del marco de administración de excepciones. Este puerto se suscribe a todas las excepciones que se producen en el sistema, tanto los mensajes de enrutamiento de mensajes con error de BizTalk como los mensajes de error de ESB, como se muestra en la figura 2.
Ilustración 2
Todo. Las excepciones envían la suscripción de puerto para todos los tipos de error o excepción
El marco de administración de excepciones normaliza todas las excepciones a un solo formato y las serializa mediante una instrucción de procesamiento de Microsoft InfoPath en la ubicación \Source\Samples\Exception Handling\Test\Filedrop\All_Exceptions.
Instalación
Todos los ejemplos de administración de excepciones usan el mismo conjunto de servicios principales y artefactos de aplicación de BizTalk. Por lo tanto, debe instalar los artefactos de ejemplo de administración de excepciones solo una vez para poder ejecutar todos los ejemplos de administración de excepciones. Para obtener información sobre cómo instalar los ejemplos de administración de excepciones, consulte Instalación de los ejemplos de administración de excepciones.
Ejecución de la aplicación de ejemplo
Para ejecutar el ejemplo de procesamiento de ESB de enrutamiento de mensajes con error de BizTalk
Antes de ejecutar este ejemplo por primera vez, asegúrese de que la ubicación de recepción y la dirección URL del puerto de envío apunten a los directorios adecuados en la carpeta \Source\Samples\Exception Handling\Test\Filedrop. La ubicación de recepción debe especificar la carpeta EAIProcess.RequestPort y la dirección URL del puerto de envío debe especificar la carpeta All_Exceptions.
Si la aplicación GlobalBank.ESB aún no se está ejecutando, use la Consola de administración de BizTalk para iniciarla.
Copie el archivo denominado FlatFileReceive_in.txt de la carpeta \Source\Samples\Exception Handling\Test\Data en la carpeta de ubicación de recepción denominada EAIProcess.RequestPort (en la carpeta \Source\Samples\Exception Handling\Test\Filedrop).
Este mensaje es un archivo de texto y provocará una excepción. Abra la carpeta denominada All_Exceptions (en la carpeta \Source\Samples\Exception Handling\Test\Filedrop) y haga doble clic en el mensaje de error para abrirlo en InfoPath mediante la plantilla adecuada. Verá que el mecanismo de control de excepciones de ESB serializa el contenido correctamente para permitir que InfoPath lo represente.
A continuación, copie el archivo denominado soapmessage[1].xml de la carpeta \Source\Samples\Exception Handling\Test\Data en la carpeta de ubicación de recepción EAIProcess.RequestPort.
Este mensaje es un documento XML que contiene una sección CDATA y provocará una excepción. Abra la carpeta de salida All_Exceptions y haga doble clic en el mensaje de error para abrirlo en InfoPath. Verá que el mecanismo de control de excepciones de ESB serializa este contenido correctamente para permitir que InfoPath lo represente.
Por último, copie el archivo denominado Csqzav01.pdf de la carpeta \Source\Samples\Exception Handling\Test\Data en la ubicación de recepción de EAIProcess.RequestPort.
Este mensaje es un archivo PDF y provocará una excepción. Abra la carpeta de salida All_Exceptions y haga doble clic en el mensaje de error para abrirlo en InfoPath. Verá que el mecanismo de control de excepciones de ESB serializa y Codifica el contenido en Base 64 para permitir que InfoPath lo represente.