none
BizTalk 2009 MQSC adapter WMQ communication issue related to DTC RRS feed

  • Question

  • Hi All,
       I am running a biztalk application that conducts File and Queue communciation where the
    technology stack and platform involves the following:

       Windows Server 2008 R2 64 bit
       BizTalk Server 2009 Standard
       Websphere MQ Server and Client 7.0.1 with fix pack 7.0.1.1 Trial version
       SQL Server 2008 Enterprise edition


    Note:
    Managed to get the MQSC adapter appearing on the biztalk admin console after installing the
    BizTalk Adapters for Host Systems 2.0 and then installing the Wow64 MQSC hotfix..

    I noticed that even though in my solution i'm referring to the MQSeries, MQSeriesEx - 7.0.2300.0 (WMQ 7.0.1 dlls), in the application run time it calls for MQSeries, MQSeriesEx - 2.0.1 (registered in GAC through the mqsc hotfix i think).. 


    Anyhow, now I'm facing the following issue when the application tries to put or pick a message from
    the WMQ queues:       


    A message sent to adapter "MQSC" on send port "<orchestration Name>_70cf70c48ef4b25e" with URI

    "mqsc://BizTalk_SC/tcp/<Machine IP>(8017)/BizTalk/WSMQ_In_Queue" is suspended.

     Error details: Failure encountered while attempting to put message to queue. queue =

    WSMQ_In_Queue, queueManager = BizTalk, reasonCode = 2354

     MessageId:  {1F4B346F-CEAA-4249-973A-18D44CD72640}

     InstanceID: {47B5589D-9EBB-485A-AE50-D6E572CF623F}

    Apparently i guess this cannot be due to the way I have fixed the initial MQSC adapter issue.. But just wanted to know if you have any ideas?


    Some of the online solutions said "Check the DTC “Transaction timeout” value. If necessary, verify
    the NT installation order."


    I have increased the Transaction timeout value to 600 now..  But I do not know how to check this NT Installation order for a Windows Server 2008 machine?

     

    Please help me out with some solutions..

    Cheers,
    Sach

     

     

    I have verified my registry : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL amqmtsxatm.dll = C:\Program Files\IBM\MQSeries\bin\amqmtsxatm.dll as mentioned in the following site - http://www-01.ibm.com/support/docview.wss?uid=swg27006838, those dlls seem to be in the registry..  but the problem still persists

    Thursday, February 18, 2010 2:14 PM

Answers

  • Are you using a 32-bit host on a 64-bit server?

    Use 32-bit host on 32-bit BizTalk server and 64-bit host on 64-bit BizTalk server.

    Make sure to use latest MQSeries fix pack as well.

    Do you have these in place? 

    ----64-bit server------
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL]
    "amqmtsxatm.dll"="C:\\Program Files (x86)\\IBM\\WebSphere MQ\\bin64\\amqmtsxatm.dll"
    "amqmtsxatmc.dll"="C:\\Program Files (x86)\\IBM\\WebSphere MQ\\bin64\\amqmtsxatmc.dll"
    ---------
    ----32-bit server-----
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL]
    "amqmtsxatm.dll"="C:\\Program Files\\IBM\\WebSphere MQ\\bin\\amqmtsxatm.dll"
    "amqmtsxatmc.dll"="C:\\Program Files\\IBM\\WebSphere MQ\\bin\\amqmtsxatmc.dll"
    --------- 

    Cheers

    Niklas

    Wednesday, May 18, 2011 6:56 PM

All replies

  • Hi,

    If you need to focus on DTC, the MSDTC Transaction Tracing can help you: http://blogs.msdn.com/distributedservices/archive/2009/02/07/the-hidden-tool-msdtc-transaction-tracing.aspx. To be able to read the trace: http://msdn.microsoft.com/en-us/library/ms678917(VS.85).aspx in combination with this thread (you dealing with 64-bits: http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/07dd1389-570b-4a8b-bc84-9939bde531e9) NT Installation order is something that has nothing to do with Windows 2008. Maybe trying DTC tracing will enable you to find root cause of your problem. Hope this helps.

    Regards,

    Steef-Jan Wiggers
    MCTS BizTalk Server
    http://soa-thoughts.blogspot.com/
    If this answers your question please mark it accordingly


    BizTalk Server
    Thursday, February 18, 2010 10:46 PM
    Moderator
  • I checked the IBM article you gave and it mentions some of the same steps as this release notes: http://download.microsoft.com/download/0/F/2/0F254964-E849-472F-B98F-773EA5B152AA/BAHSReadme.htm, but there were some different things too. Open these release notes link and search for ipcc to see the step that seems to be missing from the IBM article.

    Thanks,
    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Friday, February 19, 2010 1:35 AM
    Moderator
  • Hi Ben,
     I noticed the following is missing in the IBM Article:

    MSDTC runs under the Network Service account. This account must be given read/write access to the @ipcc (under <MQDIR>\Qmgrs\<QMNAME>) and @SYSTEM (under <MQDIR>\Qmgrs\) folders.

    However, I am not clear what exactly I need to do in this step?

    Btw, I have added network service account in the WMQ server to admin group, mqm, DCOM groups.. But still the problem persists..

    I get the same reason code (2354) when the application tries to get the message from the queue as well:

    The adapter "MQSC" raised an error message. Details "Failure encountered while attempting to get message from queue. queue = WSMQ_Out_High_Queue, queueManager = BizTalk, reasonCode = 2354".

    Steef-Jan, i'll try to look into Tracing as well.

    And I am still doubtful why my application calls for the MQSeriesEx 2.0.1 dll where I have given the latest MQSeriesEx for 7.0.1 in the application before deploying and building the biztalk package. Is it because the MQSC adapter was registered through the hotfix with 2.0.1 dll ??

    Thanks
    Sach.

    • Edited by sach141 Friday, February 19, 2010 1:59 PM edited
    Friday, February 19, 2010 1:35 PM
  • I think @ipcc and @System are environment variables used for file paths on the MQ system. It is similar to using %PATH%. This HIS article mentions it too: http://technet.microsoft.com/en-us/library/dd768465(BTS.10).aspx.

    I am not sure how to set permissions on these - you might evaluating them and setting the permissions on the folder designated after including the value of the variables.

    Thanks,


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Friday, February 19, 2010 3:19 PM
    Moderator
  • Hi Ben,
     I set permissions for the @ipcc and @system file paths. Those are actually file paths in the following locations in the machine where the  WMQ server is installed..

    C:\Program Files (x86)\IBM\WebSphere MQ\Qmgrs\@SYSTEM

    C:\Program Files (x86)\IBM\WebSphere MQ\Qmgrs\BizTalk\@ipcc

    However, still it did not solve the problem..

    Cheers
    Sach
    Monday, February 22, 2010 2:04 PM
  • Did you check to enable XA transactions on the DTC config in dcomcnfg.exe on both servers?

    Thanks,
    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Tuesday, February 23, 2010 3:18 PM
    Moderator
  • Hi Ben,
    I have enabled the XA transactions etc on the 'Local DTC Properties' dialog box... Is this what you are referring to.. or is this a different thing, what you refer to as 'DTC config' ?

    Cheers,
    SAch
    Wednesday, February 24, 2010 10:47 AM
  • Yes, that is correct. After changing the DTC config, I always restart the servers (BizTalk and the MQ Server) to ensure the latest DTC settings take effect. This is annoying but sometimes it is the only way to get the DTC services to work properly.

    If this does not work, I would review the MQ configuration - something must be incorrect there.

    Thanks,
    If this answers your question, please use the "Answer" button to say so | Ben Cline
    • Proposed as answer by Andrew_ZhuModerator Thursday, February 25, 2010 3:41 AM
    • Marked as answer by Andrew_ZhuModerator Thursday, February 25, 2010 3:41 AM
    • Unmarked as answer by sach141 Thursday, February 25, 2010 8:52 AM
    • Unproposed as answer by sach141 Thursday, February 25, 2010 8:53 AM
    Wednesday, February 24, 2010 10:09 PM
    Moderator
  • Hi Ben,
     I restarted machines after the DTC changes..
     I rechecked on the configurations.. and I installed WMQ server on the biztalk machine itself to see if the problem is eliminatedd...but still i get the same error - reasoncode: 2354

    Cheers,
    Sach

    Thursday, February 25, 2010 8:54 AM
  • Hi all,
     Earlier I had the old 2.0.1 dlls (for WMQ v6.0) in my biztalk package apparently.. so later i had to recreate the package with the WMQ 7.0.1 dlls given as references in the solution.. with the recent installation the import failed requesting for the MQSeries.dll (WMQ 7.0.1 dll) to be deployed prior to the import.

     Once that dll was added as a resource to the BizTalk.System the import was successful.
    With this installation the following MQSC error is raised when trying to put or get messages from the WMQ:
    The adapter "MQSC" raised an error message. Details "The specified module could not be found. (Exception from HRESULT: 0x8007007E) A dependency could not be found. Refer to product documentation for information on MQSC Adapter software prerequisites.

    please let me know if you have any idea on this..

    Cheers,
    Sach

    Tuesday, March 9, 2010 3:38 PM
  • Hello Sach,

     

    You need to also check to make sure the path to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL amqmtsxatmc.dll is point to the correct location in the bin folder where you install the IBM MQSeries server.

    Thursday, March 17, 2011 9:44 PM
  • Are you using a 32-bit host on a 64-bit server?

    Use 32-bit host on 32-bit BizTalk server and 64-bit host on 64-bit BizTalk server.

    Make sure to use latest MQSeries fix pack as well.

    Do you have these in place? 

    ----64-bit server------
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL]
    "amqmtsxatm.dll"="C:\\Program Files (x86)\\IBM\\WebSphere MQ\\bin64\\amqmtsxatm.dll"
    "amqmtsxatmc.dll"="C:\\Program Files (x86)\\IBM\\WebSphere MQ\\bin64\\amqmtsxatmc.dll"
    ---------
    ----32-bit server-----
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL]
    "amqmtsxatm.dll"="C:\\Program Files\\IBM\\WebSphere MQ\\bin\\amqmtsxatm.dll"
    "amqmtsxatmc.dll"="C:\\Program Files\\IBM\\WebSphere MQ\\bin\\amqmtsxatmc.dll"
    --------- 

    Cheers

    Niklas

    Wednesday, May 18, 2011 6:56 PM