MSMQ "GetTempFileName Failed" error while receiving a message from a queue

Home Page Forums BizTalk 2004 – BizTalk 2010 MSMQ "GetTempFileName Failed" error while receiving a message from a queue

Viewing 1 reply thread
  • Author
    Posts
    • #18960

      Hi..

       A strange failure occurres while i try to receive a message from a certain queue. I have a receive location defined with the same security properties, all the same as in other projects for this very application. I have nothing initiated in HAT, neither in BTS Administration console. In an EventViewer I’ve got a warning in which is written the next thing: MSMQ Adapter “GetTempFileName” failed. After googling a bit I’ve found that GetTempFileName belongs to Path.GetTempFileName();  – so the question is : what is connection between this method and Biztalk and MSMQ ?

      The message I receive is an XML, which contains as a part of it a PDF file converted to a Base64String string…

       

      I would be very appreciate to get help.

    • #18967

      In an addition I must say that it’s seems that I’ve found where the problem is: if I delete a queue and create a new one with the same name it works for couple of time and the same error returns back. And.. every like 15-25 messages I can receive the message as I supposed. I did try change type of a queue from transactional to non-transactional (It’s a remote queue btw.), I played with definitions of Trans and Nontrans/actional on receiveloacation, nothing helps.

      • #19637

         Well, solved the issue!

        The problem: BizTalk server had failes from time to time while getting messages from remote MSMQ server.

        we have found that if the message is bigger then 100Kb +/- – it is copied to “Temp” file on local server, after that it is taken by adapter and proceeded.

        the solution: to give a permission to “Temp” file to user under which the adapter is working (whith the username the adapter reads messages from remote queue.)

        Good luck

         

        • #22972

          Hi,

          I’m getting same problem. bigger messages dont pass through MSMQ adapter.

          MSMQ and Biztalk aplication ar installed on separate servers.

          Could you point which servers “Temp” folder message is being copied to ?

           

          • #22979

            I have set Full control permisions to user account adapter is running. on C:\Windows\Temp folder, but it doesnt fix the issue.

            • #24054

              I presume it may differ from system to system. Run FileMon.exe to find where that error occurres.

              • #24141

                Ok, Fixed it.

                 

                Zx7R was on the right path.  Here’s the steps I used:

                 

                1.) Download procMon.exe from Microsoft.  Run procMon, filter on the BTSNTSvc.exe

                2.) Turn on your queue, make sure you’re receving the “GETTempFileName Failed” error message.

                3.) Check procMon for Operation CreateFile, you can also filter on this.  You should see where BizTalk is trying to write to a temp folder and is getting an ACCESS DENIED error.  For me, this location was: C:\Users\BizTalk_User\AppData\Local\Temp

                4.) Go to that folder, and give the MSMQ user access. Done, fixed!

                 

                -Clay

          • #23605

            Hi, Im in doubght that your question is still relevant, but still – Ill answer: The MSMQ adapter – when it takes messages from a remote queue – it copies bigger than definite size to temp machine. I.e. – if you have a queue on a server A, and your adapter is installed on BTS server on server B, the file is copied to temp on server B. I dont remember, but I think it was on windows/system/temp   file – give permissions for user under which the adapter runs. (read/right)

            • #24002

              I’m having the same problem. 

              I gave the user that is connecting to the remote queue access to the local c:\Windows\Temp directory but that didn’t seem to fix anything.

              My error message: The adapter “MSMQ” raised an error message. Details “GetTempFileName Failed.”.

              My message size is about 500kbs.

              Any ideas?

               

              • #24053

                It must be an issue of creating incoming message to temp folder on local machine.

                Run FileMon.exe from microsoft – try to recognize what errors cause you to get an error of GetTempFileName().

                While the message comes from remote queue – first it’s copied to temp folder and only afterwards adapter picks it from that folder for processing in BTS.

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.