Microsoft KB Archive/893059

= The BizTalk Server Adapter for MQSeries version 2.0 no longer retrieves messages from a clustered MQSeries queue manager when the queue manager fails over to a different cluster node =

Article ID: 893059

Article Last Modified on 11/14/2005

-

APPLIES TO


 * Microsoft BizTalk Adapter for MQSeries, v2.0

-





SYMPTOMS
You may configure the Microsoft BizTalk Server Adapter for MQSeries version 2.0 to receive messages from a clustered MQSeries queue manager. If the queue manager fails over to a different cluster node, the BizTalk Server Adapter for MQSeries no longer retrieves messages from the clustered MQSeries queue. When this behavior occurs, the following event is logged in the Application event log: Event Type: Error

Event Source: BizTalk Server 2004

Event Category: BizTalk Server 2004

Event ID: 9508

Date:

Time:

User: N/A

Computer:

Description: Program cannot connect to the queue manager. The connection attempt to queue manager ' ' failed with reason code 2059. Ensure that the queue manager is available and operational.



WORKAROUND
To work around this issue, create a scheduled task on both nodes. To do this, follow these steps:   Save the following code in a file, and name the file Shutdownmqadapter.vbs. You can save the file in any disk other than the quorum disk. Option Explicit On Error Resume Next Dim sComputerName, oWMIService, colRunningServices, oService, colProcessList, objProcess If Wscript.Arguments.Count = 0 Then sComputerName = &quot;.&quot; Call ServStat Wscript.Quit End If

Sub ServStat Set oWMIService = GetObject(&quot;winmgmts:&quot; _    & &quot;{impersonationLevel=impersonate}!\\&quot; & sComputerName& &quot;\root\cimv2&quot;) Set colRunningServices = oWMIService.ExecQuery _ (&quot;Select * from Win32_Service where DisplayName='Distributed Transaction Coordinator'&quot;) For Each oService in colRunningServices 'Wscript.Echo oService.DisplayName & VbTab & oService.State if (oService.State=&quot;Stopped&quot;) Then 'Wscript.Echo &quot;Stopped&quot; ' find the dllhost Set colProcessList = oWMIService.ExecQuery (&quot;SELECT * FROM Win32_Process WHERE Name = 'DLLHOST.EXE'&quot;) For Each objProcess in colProcessList if inStr(objProcess.CommandLine, &quot;6D06157A-730B-4CB3-BD11-D48AC6B8A4BB&quot;)>0 then 'Wscript.Echo objProcess.ProcessId Dim objShell Set objShell = CreateObject(&quot;WScript.Shell&quot;) objShell.Run &quot;cmd /k kill -f &quot; & objProcess.ProcessId & &quot;& exit&quot; WScript.Quit end if

Next

end if Next

End Sub  In Control Panel, open Scheduled Task, and then click Add Scheduled Task to create a new scheduled task to run Shutdownmqagent.vbs daily. The schedule should be set to start at midnight and to repeat every 1 minute for 24 hours.



MORE INFORMATION
The product documentation about clustering the MQSAgent application is incorrect. Even if the MQSeries server is clustered on a Microsoft Cluster Service, you do not need to cluster the MQSAgent application.

Additional query words: eBiz BTS BTS2004 MSDTC Clus MSCS

Keywords: kbtshoot kbprb kbclustering kbbtsadapters KB893059

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.