Symptoms
In Microsoft Host Integration Server 2013, you may discover that Transaction Integrator sends a Mirror Transaction ID value that is equal to CSMI (the default mirror transaction name) instead of the Mirror Transaction ID value that is specified in the method that's being called (such as M123). When this issue occurs, an event that resembles the following may be logged in the Application log:
Cause
This problem occurs because the Configuration Section Handler for SNA Link Remote Environments (RE) incorrectly specifies a default Mirror Transaction ID value that is the value of CSMI. If the app.config file does not contain the mirrorTransactionId parameter, the default value of CSMI is provided by the Configuration Section Handler for SNA Link Remote Environments instead of using the Mirror Transaction ID value that's specified in the method that's being called by the Transaction Integrator application.
Resolution
Cumulative update information
The fix that resolves this problem is included in Cumulative Update 1 for Host Integration Server 2013.
Workaround
To work around this problem, add the following to the <remoteEnvironment> section of the app.config or web.config file that was created for the Transaction Integrator application. This allows the Mirror Transaction ID value from the method to be used instead of the CSMI default value:
mirrorTransactionId=""
The <remoteEnvironment> section of the app.config file should resemble the following:<remoteEnvironments>
<remoteEnvironment name="RE name" isDefault="true" codePage="37" timeout="10"> <snaLink localLuName="localLuName" remoteLuName="remoteLuName" modeName="modeName" mirrorTransactionId="" allowExplicitSyncPoint="false" overrideSnaSourceTransactionProgram="false" syncLevel2Supported="false" essoAffiliateApplication="" securityFromClientContext="false" /> </remoteEnvironment> </remoteEnvironments>Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
More Information
In Host Integration Server 2013, Transaction Integrator uses the following order when it determines which values to use for various configuration options that can be used by applications:
-
Client Context options
-
App.Config or Web.Config file
-
Method properties in the Transaction Integrator assembly
This order sequence also applies to configuration options other than the Mirror Transaction ID value. In the scenario that's described in the "Symptoms" section, a default value of CSMI for the Mirror Transaction ID value was incorrectly selected for use before the Method properties were checked. This caused an incorrect Mirror Transaction ID value to be sent to the CICS transaction program on the IBM mainframe. The default value of CSMI should be used only if a Mirror Transaction ID value is not specified in any of the three configuration options that are described here.