Consider the following scenario:
In this scenario, when the TI application is migrated to Host Integration Server 2009, you receive an exception that resembles the following when you run the TI application:
- You have a Transaction Integration (TI) application that is running on a Microsoft Host Integration Server 2006 server or an earlier version.
- The TI application uses custom TRM or ELM headers as described in the following Microsoft Knowledge Base article:810956 FIX: A new feature in the COM Transaction Integrator gives the client program full control over a TRM request and lets the client program process the TRM reply
- You use TRMIN, TRMOUT, ELMIN, or ELMOUT as the names for the user-defined type definitions for the custom TRM or ELM headers.
In this scenario, when the TI application is migrated to Host Integration Server 2009, you receive an exception that resembles the following when you run the TI application:
Unhandled Exception: System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
Parameter name: length
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length,Boolean fAlwaysCopy)
at Microsoft.HostIntegration.TI.ClientContext.OldContextToNew(Object[] contextArray)
at Microsoft.HostIntegration.TI.ClientContext..ctor(Object[] contextArray)
Parameter name: length
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length,Boolean fAlwaysCopy)
at Microsoft.HostIntegration.TI.ClientContext.OldContextToNew(Object[] contextArray)
at Microsoft.HostIntegration.TI.ClientContext..ctor(Object[] contextArray)