Al tratar de ejecutar un procedimiento almacenado desde un receive location, el cual pretende hacer polling sobre un procedimiento almacenado de SQL Server ubicado en otro servidor se generaba el siguiente error en el log de eventos tipo System.
“DCOM was unable to communicate with the computer x.x.x.x using any of the configured protocols”
SOLUCION
Habilitar el Distributed Transaction Coordinator de manera correcta en el servidor de BizTalk.
- Clic Start, clic Run, digite dcomcnfg ay nd then click OK to open Component Services.
- En la ventana desplegada, expandir Component Services, expandir Computers, expandir My Computer, expandir Distributed Transaction Coordinator, y luego clic en Local DTC.
- Clic derecho Local DTC y clic Properties para mostrar su ventana de propiedades.
- Clic en el tab de Security.
- Asegurarse que queden chequeadas las siguientes cuatro opciones y las demás deben quedar limpias.
- Network DTC Access
- Allow Inbound
- Allow Outbound
- No Authentication Required
- Clic OK para cerrar la ventana. Esto reiniciará el MSDTC service, clic Yes para confirmar.
- Clic Start, seleccione Administrative Tools, y luego clic en Windows Firewall with Advanced Security.
- En el Windows Firewall with Advanced Security, clic en Inbound Rules.
- En el panel de Inbound Rules, clic derecho en Distributed Transaction Coordinator *, y clic en Enable Rule.
- Luego clic Outbound Rules, dar clic derecho en las reglas de Distributed Transaction Coordinator * y clic en Enable Rule.
- Abrir la ventana de Services en el Control Panel
- Reiniciar el servicio COM+ System Application.
- Reiniciar el servicio Distributed Transaction Coordinator.
- Reiniciar el servicio SQL Server (MSSQLSERVER).
Nota: No olvidar también configurar el DTC en el servidor remoto donde se encuentra el SQL Server.