BizTalk 2004 Adapter for MQ WebSphere 2.0

I have spent a couple of days doing some proof of concepts with the MQSeries Adapter, and I have found some issues which took me some time solving.

  • Access Denied. I had this error message while setting the configuration data for the Queue Definition, when trying to open the Queue Manager Combo. Obviously is a permissions problem, you have to add your account to the role created in the MQSAgent COM+ Application on the MQSeries Server. If you forget to add also the BizTalk account the error is much more descriptive: "The adapter has encountered an 'Access Denied' error while attempting to contact the COM+ object on the MQSeries server. Ensure the BizTalk account is added to the Role on the MQSAgent COM+ application."

  • UPDATE: Lately I have found an error code 2018, which is caused because the Identity of the MQSAgent COM+ Application isn't in the 'mqm' windows group.

  • Once everything developed and deployed I had a "Error encountered on opening Queue Manager name = QMSVMLT0 Reason code = 2195.". The origin for that is the MSDTC. Common configuration since the SP2, you need to enable the Network DTC Access, Allow Outbound  and Allow Network Clients & Outbound for the client and the server respectively.

  • CorrelId. I was trying a request-reply scenario, but generating the Correlation Id in BizTalk instead of MQ. The SDK sample uses a constant which is not a commonly valid scenario, I would prefer something like the InterchangeID. The key was that MQ needs a 48 characters Id, and some characters like '-' are deleted. This code with a correlation set on the MQSeries.MQMD_CorrelId worked:

    MyGuid = new System.Guid(RequestMessage(BTS.InterchangeID));
    CorrelationValue = MyGuid.ToString("N") + "0000000000000000"; // 32 + 16 = 48 characters
    MQRequestMessage(MQSeries.MQMD_MsgId) = CorrelationValue;
    MQRequestMessage (MQSeries.MQMD_CorrelId) = CorrelationValue;

Comments (5)

  1. Emilio Calvo says:

    Hi Jose Luis.

    We have encountered (and solved) some of these issues, but know we are facing a new worrying one. It is exactly this:

    I don’t like the workaround proposed in the article, because it isn’t acceptable in a high-load scenario. Do you know a more elegant & non-stop workaround? Do you know if Microsoft is working in a fix?

    Thanks a lot

  2. I have an environment with BizTalk 2004 and the MQSeries Adapter which I’m upgrading to BizTalk 2006….

  3. I have an environment with BizTalk 2004 and the MQSeries Adapter which I’m upgrading to BizTalk 2006.

Skip to main content