Microsoft KB Archive/918221

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

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.



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:

http://go.microsoft.com/?linkid=6294451

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:

http://support.microsoft.com/contactus/?ws=support

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.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; 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

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.