Microsoft KB Archive/918221

From BetaArchive Wiki
Knowledge Base


FIX: Error message when a Host Integration Server 2004 Transaction Integrator application initiates a new transaction after a persistent connection times out: "(1240) Transaction Integrator failed when calling RemoveCachedPersistCorrelator"

Article ID: 918221

Article Last Modified on 12/4/2007



APPLIES TO

  • Microsoft Host Integration Server 2004 Enterprise Edition



SYMPTOMS

In a Microsoft Host Integration Server 2004 Transaction Integrator (TI) application that uses persistent connections, you may receive the following error message:

'(1240) Transaction Integrator failed when calling RemoveCachedPersistCorrelator (hr=0x00000001). This usually occurs when a persistent connection has timed out.

This problem occurs when the TI application initiates a new transaction after the persistent connection times out. The TCP/IP socket is still in an ESTABLISHED state when you use the netstat utility to display the current TCP/IP network connections on the computer.

CAUSE

This problem occurs because Transaction Integrator closes persistent connections that time out. The Transaction Integrator does this by calling the closesocket method to close the socket. This behavior leaves the TCP/IP socket in an ESTABLISHED state until the underlying TCP/IP socket shutdown process is finished.

RESOLUTION

Hotfix information

A supported hotfix is now available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next service pack that contains this hotfix.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

Note If additional issues occur or any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. To create a separate service request, visit the following Microsoft Web site:

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

File name File version File size Date Time Platform
Capture.dll 6.0.2028.0 25,600 02-May-2006 16:37 x86
Comticontext.dll 6.0.2028.0 25,600 02-May-2006 16:37 x86
Dcgen.dll 6.0.2028.0 99,328 02-May-2006 16:37 x86
Microsoft.hostintegration.ti.clientcontext.dll 6.0.2028.0 12,288 02-May-2006 16:36 x86
Microsoft.hostintegration.ti.dcgen.interop.dll 6.0.1701.0 4,096 02-May-2006 16:37 x86
Microsoft.hostintegration.ti.remotinginterceptor.dll 6.0.2028.0 15,872 02-May-2006 16:37 x86
Microsoft.hostintegration.ti.tracing.interop.dll 6.0.1701.0 4,608 02-May-2006 16:36 x86
Mobase.dll 6.0.2028.0 249,344 02-May-2006 16:36 x86
Playback.dll 6.0.2028.0 24,064 02-May-2006 16:37 x86
Tagen.dll 6.0.2028.0 95,744 02-May-2006 16:37 x86
Tracing.dll 6.0.2028.0 542,208 02-May-2006 16:36 x86
Tranlu62.dll 6.0.2028.0 53,760 02-May-2006 16:37 x86
Trantcp.dll 6.0.2028.0 103,936 02-May-2006 16:37 x86
Turnaround.dll 6.0.2028.0 34,304 02-May-2006 16:37 x86


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

After you apply this hotfix, Transaction Integrator calls to the closesocket method cause the underlying TCP/IP socket to close immediately when a persistent connection times out.

This hotfix enables the UpdateContextInfo method to return a pfConnectionIsViable value when the method is called from the COM Interop.

Before you apply this hotfix, the COMTIContext array is not updated when the UpdateContextInfo method is called from the COM Interop. Because the COMTIContext array is not updated, the TI application cannot determine the status of a connection when it calls the UpdateContenxtInfo method from the COM Interop.

After you apply this hotfix, a TI application that uses persistent connections can call the UpdateContextInfo method to determine the status of a connection before the application tries to use the connection. The TI application must interpret the pfConnectionisViable value that is returned by the UpdateContextInfo method. A nonzero return value indicates that the connection can be used.

If the TI application calls the GetConnectionInfo method, the pfConnectionIsPersistent value is returned. However, the pfConnectionisViable value is not valid when the GetConnectionInfo method is called from the COM Interop. After you apply this hotfix, you can use the pfConnectionisViable value that the method returns if the UpdateContextInfo method is called from the COM Interop.

For more information about TI methods and arrays, view the Host Integration Server 2004 documentation.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates


Keywords: kbhotfixserver kbqfe kbpubtypekc kberrmsg kbfix KB918221