Category: IBM MQ


Hello,

You may have issues with the IBM MQ Client 7.5 and 8.0 together with BizTalk 2013 / 2013 R2 with Transactional Support set to true. You are getting an MQRC 2072 and you can see a lot of errors / warnings in the Event Log. This is actually a code defect in the 7.5.0.3 / 7.5.0.4 and 8.0.0.2 client.

IBM has worked on fixing this issues : http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg1IT07469

The issue is finally fixed in the following IBM MQ Clients :

  • 7.5.0.6
  • 8.0.0.4

Best Regards,

Hello folks,

When IBM released the IBM MQ 8 Client, there was no way to use it with BizTalk because the client was compiled in C++ 2012 and BizTalk 2013/2013 R2 still uses an older C++ Runtime. Officially this is not supported by Microsoft, but it works. Microsoft actually supports only IBM MQ Client 7.1 and 7.5 together with BizTalk Host Integration Server 2013 (MQSC). After some discussions with IBM and after some month, IBM decided to ship with its package also the C++ dlls compiled in 2005 Runtime.

IBM Article : https://www-01.ibm.com/support/knowledgecenter/#!/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q030490_.htm

The C++ 2005 Runtime dlls are available in IBM MQ Client 8.0.0.2 : http://www-01.ibm.com/support/docview.wss?uid=swg24037500

Best Regards,

Steve

Guess what ?

What would you say if HIS (Host Integration Server) would include a MQ Client so that you don’t need to install the IBM MQ Client ?

The dream becomes true with HIS vNext (announced at the INTEGRATE 2014) ! 🙂

As you have already noted, Microsoft BizTalk 2013 R2 (Host Integration Server 2013 MQSC) does not support working with IBM MQ Client 8.0. It is not even worth trying because BizTalk is using C++ 2008/2010 and IBM MQ Client 8.0 is using C++ 2012. The Process starting application must always be in the highest or equal Runtime that the client/child assemblies.

The only workaround is to use the IBM MQ Client 7.5 to connect to IBM MQ Server 8.0 (which is supported by IBM) : http://www-01.ibm.com/support/docview.wss?uid=swg21312967

You may get a MQRC Error 2072 using BizTalk 2013 together with HIS 2013.

If you are using the 7.5.0.x client, than you are facing the same issue as me. As far as I can debug the error is caused by the IBM MQ Client itself and not by the MQSC (HIS Adapter) or BizTalk. In my case changing the MQ Client from 7.5.0.3 to 7.0.1.12 fixed the issue.

Please let me know if you are facing a similar issue.

Best Regards,

Steve

The MQSC Adapter may generate excessive network traffic when it receives message from IBM WebSphere Application Server message queues. The overhead of the network traffic may be 4 to 10 times the size of the actual message that is being received from the message queue. The excessive network traffic can be observed in network traces that are used to capture data between the instance of Microsoft BizTalk Server that is using the MQSC Adapter and the IBM WebSphere system. The BizTalk Server does not report any errors or warnings when this occurs.

The MQSC Adapter uses multiple MQGET calls when it retrieves messages from an IBM WebSphere message queue. The excessive network traffic occurs because of the multiple MQGET calls that the MQSC Adapter uses when it reads the message.

  • The fix that resolves this issue is included in cumulative update package 1 for Host Integration Server 2013. Download
  • The fix that resolves this problem is included in cumulative update package 9 for Host Integration Server 2010. Download

 

Traditionally, the WebSphere MQ Extended Transactional Client (also known as the XA Client or XTC Client) was not part of the standard WebSphere MQ client and you had to purchase the XA Client separately. As per the WebSphere MQ V7.5 announcement letter on April 24, 2012, the Extended Transactional Client (XA) is now a free product which comes with the standard WebSphere MQ v7.x client.

With the availability of WebSphere MQ V7.5 the capability previously delivered within the Extended Transactional Client is incorporated into the standard WebSphere MQ client. Customers using WebSphere MQ V7.0.1 and WebSphere MQ V7.1 gain the benefit of use of the Extended Transactional Client without charge from the date of this announcement. IBM is making available refreshed code including updated License Information. Customers can realize this benefit through the download and acceptance of this new License Information.

The WMQ V7.5 client has contained the XA client functionality from inception. The WMQ V7.0.1 and V7.1 client downloads have been updated to contain a license to use the XA client functionality.

For the WMQ V7.1 and V7.0.1, Client, APAR IV43443 has been created to include the XA enablement component as part of the client installation. After APAR IV43443 is completed and closed the WMQ V7.1 and V7.0.1 clients will include the XA component as well as the license to use it.

For WMQ V7.1 or V7.0.1 prior to APAR IV43443, the XA enablement component must be installed as a part of a server installation. You must install the client portion plus the XA enablement component from a server installation. The change is that the updated client code will have the license to use the XA enablement component. Please note that we do not support copying files around. You must install the XA enablement component as part of the server install for WMQ V7.1 or V7.0.1 prior to APAR IV43443.

The WebSphere MQ client code is available at no extra cost.

  • The WebSphere MQ V7.5 XA enabled client code is available as a part of the server install code or may be installed separately as a WebSphere MQ Client SupportPac.
  • The WMQ V7.1 and V7.0.1 client code prior to APAR IV43443 must install the XA enablement component as a part of the server install code.
  • The WMQ V7.1 and V7.0.1 client code AFTER APAR IV43443 will contain the XA enablement code as part of the V7.1 and V7.0.1 SupportPac downloads.
  • APAR IV43443 is included in Fix Packs V7.0.1.12 (or later) and V7.1.0.5 (or later).

Download

Over the last months I’ve read a lot of articles why the MQSC Adapter is missing in the BizTalk Administration Console, but none of them are complete.

Installation guide
So in order to install the adapter, you need to install the client tool from HIS (Microsoft BizTalk Adapters for Host Systems) and you will also need the to install the IBM WebSphere MQ Client or the IBM WebSphere MQ Transactional Client (which is part of the IBM WebSphere MQ Server).

Be aware that for any BizTalk version prior to BizTalk 2009 you can only run this adapter as a 32bit. You need to install the following KB939202 to force it to run as a 32bit on a 64bit environment.

Installation order

  1. Install the Microsoft BizTalk Server
  2. After the installation of the Microsoft BizTalk Server, don’t forget to configure the BizTalk Server using the Configuration Tool (if you skip the configuration, the BizTalk Adapters (MQSC, HostApps, DB2) will not be installed correctly
  3. Install the latest Microsoft BizTalk Server Cumulative Updates
  4. Install the IBM WebSphere MQ Client or the IBM WebSphare MQ Transactional Client
  5. Install the latest IBM WebSphere MQ FixPacks
  6. Install the Microsoft BizTalk Adapters for Host Systems (1.0 : 2006, 2.0 : 2009) or the Microsoft Host Integration Server 2010, 2013 and check the BizTalk Adapters to install
  7. Install the latest Microsoft Host Integration Server Cumulative Updates

Troubleshooting

  • You are getting an error that the MQSC COM+ are not correctly registered

Check if the MQSC Com+ Object is registered (Administrative Tools => Component Services => My Computer => COM+ Applications => Microsoft.BizTalk.Adapter.MQSC

If it’s missing you can try the following to register the COM+ Objects again :

  • Go to the “Programs and Features”
  • Modify the Host Integration Server Installation by using the repair feature

If it’s still missing, please try the following commands :

  • %windir%\Microsoft.NET\Framework\v2.0.50727\RegSvcs.exe /u “%snaroot%\Microsoft.BizTalk.Adapter.MQSC.dll” %windir%\Microsoft.NET\Framework\v2.0.50727\RegSvcs.exe “%snaroot%\Microsoft.BizTalk.Adapter.MQSC.dll”

If this is a 64-bit box, and they are installing the 64-bit MQSC adapter, then the commands would be slightly different (“Framework64” instead of “Framework”), so they would be:

  • %windir%\Microsoft.NET\Framework64\v2.0.50727\RegSvcs.exe /u “%snaroot%\Microsoft.BizTalk.Adapter.MQSC.dll” %windir%\Microsoft.NET\Framework64\v2.0.50727\RegSvcs.exe “%snaroot%\Microsoft.BizTalk.Adapter.MQSC.dll”
  • The MQ Transactional is not working and you are getting an MQRC 2354

Check my other article : https://stevemelan.wordpress.com/2011/09/12/using-ibm-mq-transactional-client-with-biztalk/

Check if you have installed the latest IBM WebSphere MQ FixPack : http://www-01.ibm.com/support/docview.wss?uid=swg1IC81688

Best Regards,

Steve MELAN

In order to get everything working correctly to use IBM MQ Transactional together with BizTalk, you need to purchase the IBM MQ Transactional Client. Please always download the latest version of the client.

After you install the IBM WebSphere MQ Extended Transactional Client on your BizTalk Server computer, the following additional configuration steps are necessary before you can implement transactional messaging with the BizTalk Adapter for WebSphere MQ.

  • In the WebSphere MQ Server environment, give your Network Service account appropriate permissions, as described in the IBM Technote article 1223479. For security reasons, it is strongly recommended that you use the “Security Exit” so that you do not have to add “Network Service” account into the MQM group.
  • On your BizTalk Server computer, add the MQSeries XA dll to the MSDTC registry. To the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL, add the string value amqmtsxatmc.dll in the Name column and add its path to the Data column. Provide the path in the form <WebSphere MQ Client installation folder>\bin\amqmtsxatmc.dll; for example, C:\Program Files\IBM\WebSphere MQ\bin\amqmtsxatmc.dll.
  • On your BizTalk Server computer, if you are using WebSphere MQ 5.3, give your Network Service account read/write access to the @SYSTEM folder, contained in <WebSphere MQ Client installation folder>\qmgrs\@SYSTEM. (You do not have to do this if you are using WebSphere MQ 6.0 /7.0.)
  • Make sure that MSDTC is enabled on the computer on which BizTalk Server is installed and that security is configured as described in the following procedure:
  1. Click Start, point to Programs, point to Administrative Tools, and then click Component Services.
  2. In the Console Root of the Component Services Console, expand Component Services.
  3. Expand Computers.
  4. Right-click My Computer, and then click Start MSDTC.
  5. Right-click My Computer, and then click Properties.
  6. Click the MSDTC tab.
  7. Under Transaction Configuration, click Security Configuration.
  8. Under Security Settings, select the Network DTC Access and Enable XA Transactions check boxes.
  9. Click OK.
If you are using Sysplex distributor with queue sharing groups, don’t forget to activate the GROUPUR attribute on your MQ Server. The GROUPUR attribute allows XA client applications to have any in-doubt transaction recovery that may be required, performed on any member of the QSG.If an XA client application connects to a queue-sharing group (QSG) through a Sysplex it cannot guarantee which specific queue manager it connects to. Use of the GROUPUR attribute by queue managers within the QSG can enable any in-doubt transaction recovery that may be necessary to occur on any member of the QSG. Even if the queue manager to which the application was initially connected is not available, transaction recovery can take place.This feature frees the XA client application from any dependency on specific members of the QSG and thus extends the availability of the queue manager. The QSG appears to the transactional application as a single entity providing all the WebSphere MQ features and without a single queue manager point of failure.