Host Integration Server (HIS) provides BizTalk MQSC adapter to integrate with IBM MQ. We installed MQSC adapter for BizTalk Server 2016 using HIS 2016 installation and configured our receive and send ports to send and receive messages. It worked all fine, until we turned on transaction on the adapter properties on both receive and send port. As soon as we started using transaction, messages stopped flowing and we were getting following error in event viewer:
The adapter "MQSC" raised an error message. Details "Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))".
The BYOT Gateway could not delegate the activation. The component being created may be incorrectly configured. Process Name: BTSNTSvc64.exe Error Code = 0x80040154 : Class not registered COM+ Services Internals Information: File: com\complus\src\comsvcs\byot\byotex.cpp, Line: 450 Comsvcs.dll file version: ENU 2001.12.10530.18192 shp
This MQSC adapter worked fine with transaction in BizTalk 2013 R2 environment with HIS 2013.
The cause of the issue was missing COM+ components which were required to support transaction with MQSC adapter. These components as shown below were part of HIS 2013 installation earlier itself, but with HIS 2016 these components were not getting installed.
To see COM+ components, Windows Run->dcomcnfg
In order to install these COM+ components to support transaction, we need to configure HIS 2016 as follows:
Run ConfigurationWizard.exe which gets installed to HIS installation directory and configure following three settings:
- Common Settings
- Message Integration
- BizTalk Integration
- Visual Studio Integration (Optional)
Common Settings should be configured as shown below, use AD groups in your non DEV environment similar to BizTalk AD groups.
Use a service account to set the credentials
Select Message Integration and choose default options:
Choose default options on and make sure you have Client Adapter for WebSphere for MQ applied:
Apply Configuration and you should now see COM+ components installed. Restart BizTalk host instances and try again and it should work fine now.
You can also save HIS configuration as a XML file and apply the configuration from command line using command. Make sure to add password for service account in xml file.
ConfigurationWizard.exe /APPLY <Path of Config file>
Please note, HIS documentation are not up to date and lack lots of information. Their documentation on installing IBM Transaction Extended Client is also old since now IBM MQ client itself has extended client inbuilt into it and get installed with it by default.
With HIS 2016, you don’t need IBM MQ client anyway as there is inbuilt MQ client in HIS 2016, however, adapter support both using a adapter property “Use Microsoft MQ Client” which is default set to No.