tags:

views:

702

answers:

4

I have an application that runs transactions spanning over multiple databases on the same server. Naturally this involves the Microsoft Distributed Transaction Coordinator and everything works like it is supposed to.

Howver, when I remotely connect to the network where the server is hosted via VPN and run the application on my local machine I receive the following error:

System.Transactions.TransactionManagerCommunicationException: "Communication with the underlying transaction manager has failed."

Caused by:

System.Runtime.InteropServices.COMException: Error HRESULT E_FAIL has been returned from a call to a COM component.

Here is the stack trace for the originating exception:

at System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim)
at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)

The problem arises only when I connect to the server through a VPN tunnel.
Note also that I have temporarly disabled Windows Firewall on my local machine, just to be sure it doesn't block the MSDTC.

Does anyone know of any issues when running MSDTC through VPN?

+1  A: 

Do you administer the VPN connection? There might be restricted ports on the VPN. Likewise, do you administer your servers? Your servers might only allow connections from IP addresses on the inside and not on the segment used for VPN service. If you are the administrator, perhaps saying which VPN software you are using will help.

jmucchiello
No, unfortunately I don't administer the VPN RAS servers neither the database servers the application communicates with. But you may be right about the ports and subnet/IP range restrictions. I will check with the networking department.
Enrico Campidoglio
+1  A: 

I suggest you run DTCPing (available from the Microsoft site somewhere) This is run at the same time on both machines and detects all manner of DTC problems.

Be careful I had great difficulties with this tool until I actually read the instructions and started both sides of the test up before I clicked the start test button.

Brody
A: 

Have you resolved your problem?? I have the exact same problem and can't find a way to make it work...

No, I haven't. I think the problem might have something to do with the configuration of the RAS servers, which unfortunately I have no control over. I suggest you check with your network administrator, to find out about allowing DTC traffic through VPN.
Enrico Campidoglio
+1  A: 

I'm having the same problem using a Windows 7 x64 client and a Server 2003R2 server. I have been able to make it work (on the same vpn, same server) using XP, Vista x86, and Windows 7 x86. I have a support call with Microsoft open and they are looking into it. I'm curious - what operating system are you guys using on your client machines?

Matt
Interesting. We were using Windows XP SP2 (32-bit) on the client and Windows Server 2003 on the server.
Enrico Campidoglio