Search code examples
c#.netibm-mqxms

IBM.XMS.XMSC does not contain a definition for WMQ_Client_Reconnect_Q_MGR


I have create a .Net Windows Service to connect to MQ Queue using XMSFactory. I am trying to implement reconnect functionality but I cannot find the properties in XMS.dll:

'IBM.XMS.XMSC' does not contain a definition for 'WMQ_CLIENT_RECONNECT_Q_MGR

I am using the following versions:

  • MQ Server 7.5.0.2
  • MQ Client 7.5.0.4
  • Message Service Client for .Net 2.0.0.12

Please Help


Solution

  • MQ Client v7504 ships Message Service Client for .NET (XMS) v2.5 and automatic client reconnection feature is available in that version. So it is bit surprising how you are got XMS .NET 2.0.0.12 with MQ client v7504. XMS 2.0.0.12 does not support automatic client reconnection. This feature was implemented in XMS version 2.0.1.0.

    It appears that you have downloaded XMS from supportpac website. Since you have installed MQ client v7504, you don't need to install supportpac. XMS comes bundled with MQ client. So you need to uninstall XMS supportpac and instead use the XMS that comes with MQ Client.

    Update

    After un-installing XMS .NET support pack, do the following:

    1) Check the GAC to confirm if it has XMS .NET assembly version 2.5. If assemblies are not there, then open a command prompt and move to WebSphere MQ\bin directory and run "amqiregisterdotnet.cmd" command. This will install XMS (and also MQ) .NET assemblies to GAC.

    2) Your application might still be referencing IBM.XMS v2.0.1.0 assembly. Since this version of assembly will no longer be available, remove that reference and add IBM.XMS v2.5 reference from WebSphere MQ\bin directory.

    Recompile your application.