КОРЕКЦИЯ: Интегратор на транзакции изпраща стойност на огледален идентификатор на транзакция, която е равна на CSMI в Host Integration Server 2013

Отнася се за
Host Integration Server 2013

Симптоми

В Microsoft Host Integration Server 2013 можете да откриете, че интеграторът на транзакции изпраща стойност за огледален идентификатор на транзакция, която е равна на CSMI (името на огледалната транзакция по подразбиране) вместо стойността за огледалния идентификатор на транзакцията, зададена в извиквания метод (например M123). Когато възникне този проблем, събитие, подобно на следното, може да бъде регистрирано в регистрационния файл на приложенията:

      

Причина

Този проблем възниква, защото манипулаторът на секция за конфигурация за отдалечени среди за връзка с SNA (RE) неправилно задава стойност по подразбиране на ИД на огледална транзакция, която е стойността на CSMI. Ако файлът на app.config не съдържа параметъра mirrorTransactionId, стойността по подразбиране на CSMI се предоставя от манипулатора на секция за конфигурация за отдалечени среди на SNA Link, вместо да се използва стойността за огледален идентификатор на транзакция, която е зададена в метода, който се извиква от приложението на интегратора на транзакции.

Решение

Кумулативна информация за актуализацията

Корекцията, която отстранява този проблем, е включена в сборна актуализация 1 за Host Integration Server 2013.

Заобиколно решение

За да заобиколите този проблем, добавете следното към секцията <remoteEnvironment> на файла app.config или web.config, създаден за приложението Transaction Integrator. Това позволява стойността на огледалния идентификатор на транзакция от метода, който трябва да се използва, вместо стойността по подразбиране на CSMI:

mirrorTransactionId=""
Разделът remoteEnvironment <> на app.config файла би трябвало да изглежда така:

<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>

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.

Повече информация

В Host Integration Server 2013 интеграторът на транзакции използва следния ред, когато определя кои стойности да се използват за различни опции за конфигуриране, които могат да се използват от приложения:

  1. Контекстни опции за клиента
  2. App.Config или Web.Config файл
  3. Свойства на метода в блока "Интегратор на транзакции"

Тази последователност на ред се отнася и за опциите за конфигуриране, различни от стойността на ИД на огледална транзакция.

В сценария, който е описан в раздела "Симптоми", стойност по подразбиране на CSMI за стойността на ИД на огледална транзакция е била неправилно избрана за използване преди проверката на свойствата на метода. Това е причина неправилна стойност на Mirror Transaction ID да бъде изпратена към програмата за транзакции CICS на IBM мейнфрейм.

Стойността по подразбиране на CSMI трябва да се използва само ако в никоя от трите опции за конфигуриране, които са описани тук, стойността на ИД на огледална транзакция не е зададена.