Compartir a través de


Uso del adaptador de ops

La solución de administración de procesos empresariales utiliza el adaptador Ops para controlar informes de errores desde la nueva característica de informes de errores. La solución incluye un controlador de muestras para procesar mensajes desde el adaptador aunque puede escribir fácilmente las suyas propias y utilizar el adaptador en otras soluciones. Para obtener información sobre la característica de notificación de errores, consulte Uso del enrutamiento de mensajes con errores.

Nota

Aunque la solución utiliza el adaptador para el informe de errores, su uso no se limita al control de errores. Puede utilizar el adaptador en diversas circunstancias siempre que desee ejecutar un método de objeto específico en respuesta a un mensaje.

Cómo procesa el adaptador OPS informes de errores

Los puertos de la solución que usan informes de errores envían en última instancia los mensajes de error al puerto bizTalkErrors-SP . El filtro en el puerto comprueba la existencia de la propiedad de contexto ErrorReport.ErrorType . Sólo los mensajes de informes de errores tienen esta propiedad de contexto.

El puerto de envío bizTalkErrors-SP ejecuta el mensaje de error a través de una canalización que usa un componente ensamblador XML para colocar el mensaje en un sobre. A continuación, el mensaje va al adaptador Ops.

El sobre definido por el esquema ErrorEnvelope se marca para que acepte cualquier tipo de mensaje. Sin embargo, "cualquier" significa cualquier tipo de mensaje definido en el grupo de BizTalk. Esto puede producir mensajes suspendidos si la solución recibe un mensaje de un tipo desconocido. Este mensaje produciría un error y se enrutaría al puerto BizTalkErrors-SP . A su vez, el mensaje generaría un error en el componente de ensamblador XML de la canalización porque no sería un tipo de mensaje conocido. El error de canalización suspende el mensaje.

Nota

Para controlar los errores de enrutamiento debidos a tipos de mensajes desconocidos, debe escribir un componente de canalización personalizado y usar el componente en una canalización personalizada para el puerto BizTalkErrors-SP . El componente personalizado reemplaza al componente del ensamblador XML. El componente personalizado debe colocar las propiedades ErrorReport en el encabezado de sobre y agregar el mensaje al cuerpo del sobre.

El adaptador Ops es un adaptador de envío transaccional y unidireccional. Cuando el adaptador procesa un mensaje, primero carga el ensamblado especificado, de ser necesario. El adaptador almacena ensamblados en memoria caché para evitar la sobrecarga de tener que cargar el ensamblado para cada llamada. A continuación, crea una instancia de la clase especificada y, a continuación, usa la reflexión para obtener el objeto en el ensamblado que implementa la interfaz IOpsAIC . Si todo esto se realiza correctamente, el adaptador llama al método Initialize y, a continuación, llama al método Execute , pasando el mensaje de informe de error.

Si se produce un error al llamar a Execute, el adaptador vuelve a enviar el mensaje. Si la clase especificada no implementa la interfaz IOpsAIC o no se encuentra la clase o el ensamblado, el adaptador suspende el mensaje.

Sugerencia

Como el adaptador utiliza la reflexión, el ensamblado que contiene la clase debe estar en la caché de ensamblados global (GAC).

La interfaz IOpsAIC

El adaptador requiere un objeto que implementa la interfaz IOpsAIC . La interfaz aparece de la siguiente forma:

interface IOpsAIC  
{  
    void Initialize(string config);  
    void Execute(byte[] message);  
}  

El adaptador pasa el mensaje original como una matriz de bytes al método Execute .

Configurar el adaptador

El adaptador se configura del mismo modo que cualquier otro adaptador. En la siguiente tabla se describen las propiedades de configuración del adaptador:

Display Name (Nombre para mostrar) Descripción
Nombre seguro de ensamblado .NET Nombre completo del ensamblado.
Nombre de clase OpsAIC Nombre de la clase dentro del ensamblado que implementa la interfaz IOpsAIC .
Datos de inicialización Cadena que se pasa como argumento al método Initialize de la clase .

Observe que el adaptador requiere el nombre completo del ensamblado. El nombre completo es el nombre que se da a un ensamblado cuando lo agrega al GAC. El nombre completo es una cadena que contiene el nombre, la versión, la referencia cultural y el token de clave pública del ensamblado. Puede ver los nombres completos de los ensamblados utilizando la herramienta Caché de ensamblados global (gacutil.exe).

Para obtener más información sobre los nombres de ensamblados completos, vea "Nombres de ensamblado" en la Guía del programador de .NET Framework. Para obtener más información sobre el archivo gacutil.exe, vea "Herramienta Caché de ensamblados global (Gacutil.exe)” en la Guía del programador de .NET Framework.

Debe proporcionar el espacio de nombres con el nombre de clase. Por ejemplo, si la clase es OpsHandler en el espacio de nombres OperationsHandler , asignaría el nombre de clase como OperationsHandler.OpsHandler.

Consulte también

El adaptador de Ops