locked
Error HRESULT E_FAIL has been returned from a call to a COM component

    Question

  •  

    Hi,

    I have an application developed in asp.net  installed in one box and the database server (SQL 2005) in a different box. Every thing works fine as far as logging into the system and browsing thru menu. However when we try to do a transaction, we get the error shown below.

     

    I am personally not the developer of this app. We have got it developed from a vendor and when they show me the test app in their location installed in two boxes, it works perfect. I have tried with multiple boxes for both app and DB at my end but the same error comes.

     

    What can be wrong?

     

    OS in app is Windows 2003 (Web Edition)

    OS in DB is Windoes 2003 (Enterprise)

     

    Thanks in advance.

     

    anirabn

    Error HRESULT E_FAIL has been returned from a call to a COM component.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

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

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.]
       System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim) +0
       System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) +218
    
    [TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed.]
       PwC.Aptech.CenterManagement.BizLogic.CenterManager.EnrollStudent(IStudent objStudent, IInvoice objInvoice, SecurityProfile objSecurityProfile) in E:\APTECH\AptechRetail\Aptech.CenterManagement\BizLogic\CenterManager.cs:3321
       Center_CE_40_StudentEnrollment.btnSubmit_Click(Object sender, EventArgs e) in E:\APTECH\AptechRetail\AptechRetail\Center\CE_40_StudentEnrollment.aspx.cs:196
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102
    

    Tuesday, January 29, 2008 7:22 AM

Answers

  •  

    Yes, this is fine. See http://support.microsoft.com/kb/899191 for further details (in particular the section titled The "Mutual Authentication Required" option --> towards the bottom you'll find the situations where you need to use No Authentication)
    Thursday, January 31, 2008 3:36 AM

All replies

  •  

    Communication with the underlying transaction manager has failed.

     

    This can happen if the msdtc processes on each machine cannot communicate with each other. Problems would include incorrect security settings or firewall problems.

     

    Can you post what the msdtc security settings are for each machine? Can you also verify that msdtc.exe has an exception in the firewall?

    Tuesday, January 29, 2008 6:22 PM
  • Thanks for getting back Jesse. Non of the boxes are behind any firewall. I am not able to attach any document with this reply so not able to show you the connectin settings. However in the "Log On" tab I have used "This account" as authentication. Regards, anirban
    Wednesday, January 30, 2008 3:54 AM
  •  

    The security settings I'm refering to are those belonging to the MSDTC service itself.

     

    From a command line type 'dcomcnfg'.  Then expand the Component Services\Computers\My Computer nodes.  Right click My Computer and choose Properties.  From there select the MSDTC tab and click Security Configuration.  By default MSDTC process on each machine are not enabled for network communication.  Can you list which checkboxes (if any) on that dialog page are checked?

    Wednesday, January 30, 2008 4:52 AM
  • Thanks Jesse,

     

    The MSDTC services are ON in both the server. The check boxes checked in MSDTC main tab is "Use local Co-ordinator". Then if I click on "Security Configuration" button, then the following options are checked :

     

    1. Network DTC access

    2. Allow remote clients

    3. Allow remote administration

    4. Allow inbound

    5. Allow outbound

    6. Mutual authentication required

    7. Enable TIP transaction

    8. Enable XA transactions.

     

    Regards,

     

    anirban

     

    Wednesday, January 30, 2008 8:19 AM
  •  Anirban Das wrote:

    Thanks Jesse,

     

    The MSDTC services are ON in both the server. The check boxes checked in MSDTC main tab is "Use local Co-ordinator". Then if I click on "Security Configuration" button, then the following options are checked :

     

    1. Network DTC access

    2. Allow remote clients

    3. Allow remote administration

    4. Allow inbound

    5. Allow outbound

    6. Mutual authentication required

    7. Enable TIP transaction

    8. Enable XA transactions.

     

    Regards,

     

    anirban

     

     

    The problem seems to have resolved once I change

     

    6. Mutual authentication required

     

    to

     

    6. No authentications required

     

    Is this the correct way to operate?

     

    anirban

    Wednesday, January 30, 2008 8:44 AM
  •  

    Are your computers on a windows domain or just on a workgroup?

     

    Also, please disable TIP transactions as there are very few reasons for using that and only a very few customers that we are aware of that still require that option.

    Wednesday, January 30, 2008 9:44 AM
  • Hi Jesse,

     

    The boxes are not in any domain. They are in workgroup.

     

    I have disabled TIP transaction as suggested.

     

    Should I keep the No authentication status. It is working and no error is commint in that status.

     

    Thanks in advance.

     

    anirban

     

    Thursday, January 31, 2008 3:13 AM
  •  

    Yes, this is fine. See http://support.microsoft.com/kb/899191 for further details (in particular the section titled The "Mutual Authentication Required" option --> towards the bottom you'll find the situations where you need to use No Authentication)
    Thursday, January 31, 2008 3:36 AM
  • Thanks Jesse for all the help.

     

    anirban

     

    Thursday, January 31, 2008 8:25 AM
  • Hi,

    I have the same problem. I have read the posts above and followed the same steps, but the problem is still occuring. I have a MS SQL server and a MS 2008 Datacenter edition server running IIS.

    There are no firewalls running on either machine. The DTC settings are the same as above, but issue still appears. Is there anything else I can try?

    Monday, February 27, 2012 11:20 PM