Mensaje de error "La comunicación con el administrador de transacciones subyacente ha fallado"

Un cliente de nuestro equipo ha actualizado recientemente una aplicación web ASP.NET 1.1 a ASP.NET que usa el procesamiento de transacciones COM + y recibió la siguiente excepción al intentar procesar una transacción:

Exception Type: System.Transactions.TransactionManagerCommunicationException
Message: Communication with the underlying transaction manager has failed.

Inner Exception Type: System.Runtime.InteropServices.COMException ErrorCode: -2147467259
Message: Error HRESULT E_FAIL has been returned from a call to a COM component.

Estas son las configuraciones siguientes en la configuración de seguridad de MSDTC:

-- Network DTC Access
-- Allow Inbound
-- Allow Outbound
-- Incoming Caller Authenication Required

Una estación de trabajo con Windows XP SP3 está intentando establecer una conexión con una máquina con Windows Server 2003.

¿Alguien más ha experimentado este error y sabe cómo resolverlo?

8

5 Respuestas

Deberá tener habilitado el acceso a DTC de red tanto en su estación de trabajo XP como en su máquina con Windows 2003. Además, si su aplicación solo se publica internamente, puede desactivar la autenticación de llamada entrante y configurarla como "sin autenticación".

14
agregado
Genial ... Compararé la configuración del servidor con la configuración de mi estación de trabajo.
agregado el autor Michael Kniskern, fuente
Gracias por la respuesta. Solo tuve que cambiar "Autenticación de llamadas entrantes requerida" a "No se requiere autenticación"
agregado el autor Michael Kniskern, fuente

Agregue C: \ Windows \ msdtc.exe a las excepciones del firewall tanto en el servidor de seguridad como en el servidor. Pasé muchísimo tiempo mondando alrededor de números de puertos específicos y rangos sin resultado antes de hacerlo.

9
agregado
+1 Me sacó de un agujero negro improductivo de ay, gracias
agregado el autor Ralph Lavelle, fuente
En Windows Server 2008 R2 Datacenter estaba en c: \ windows \ system32 \ msdtc.exe.
agregado el autor Rami A., fuente

1) Deshabilitar la autenticación además de habilitar el acceso de la red al servicio de "coordinación de transacción distribuida" (la autenticación mutua no funciona como se muestra en Internet en máquinas xp sp3)

2) habilitar el acceso a la red en las máquinas cliente (aplicación web) y servidor (servidor SQL) para el servicio de "coordinación de transacción distribuida".

3
agregado

En caso de que necesite ayuda para encontrar la configuración MSDTC mencionada en las otras respuestas (como yo lo hice), el siguiente enlace explica cómo configurar MSDTC en el servidor 2003.

http://itknowledgeexchange.techtarget.com/ sql-server/how-to-configure-dtc-on-windows-2003/

0
agregado