Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# MSMQ
Hi.
 
I am trying to test my .dll   on remote computers. Since I have only 1 machine I used Windows Virtual Machine, to simulate a machine; However my MSMQ service in the Virtual machine has no public queues(doesn't have the folder named "public queues").
 
For the sake of my testing, I did it with private queues, and I am able to send messages to the private queues in the remote machine, however when it comes to get the names of the queues It says "Access to MSMQ messaging system denied".
 
I already granted access to "Everyone" and "Anonymus Logon" and still acces is denied. I have the feeling it has to do something with the windows firewall, but I haven't found any documentation to support that.
 
Thanks in advance.
Posted 23-Jan-12 11:34am
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Your virtual machine is probably not part of a domain, so you'll get no public queues.
 
One way to work around the "Access to MSMQ messaging system denied" problem is to access some folder on the computer hosting the private queues using file explorer. It has to be a folder that requires you to log on to the virtual machine.
 
Update
Read these articles carefully:
Understanding how MSMQ security blocks RPC traffic[^]
MSMQ 3.0 too secure for you?[^]
 
Best regards
Espen Harlinn
  Permalink  
v2
Comments
nanomass at 24-Jan-12 9:11am
   
I am not sure what you mean, you mean instead of access the queues through the messaging system I actually open the folder with that information? I need to access it through the messaging system.
 
do you know how to add the public queues to the messaging system? that would definitely solve my problem
Espen Harlinn at 24-Jan-12 9:27am
   
I actually open the folder with that information? No, you will use the messaging system - it's just a simple way to authenticate yourself to the computer hosting the private queues. the authentication information will in a way be part of your session, allowing applications running in that session to access private queues on the other computer.
 
A computer that hosts public queues need to be part of a domain.
nanomass at 26-Jan-12 9:50am
   
How do I access a file that requieres login in? .. I have been trying to get around this for the last two days with no success, I can't open the drive of the virtual computer.
Espen Harlinn at 26-Jan-12 10:01am
   
I can't open the drive of the virtual computer
Enter in file explorer on the computer running the client software:
\\192.4.4.52\C$ <-- replace ip address with the IP address of the virtual computer hosting the private queues - make sure the computers' firewall is off just to make certain that this is not the root of your problem
 
nanomass at 26-Jan-12 11:02am
   
ok, I am accessing the file explorer from the host, and log in to the virtual machine,through "network", I don't know exaclty where you are saying to replace the ip address, I already logged in, but still have the same problem, also turned of the firewall on the virtual machine.
Espen Harlinn at 26-Jan-12 11:07am
   
At this point it sounds like you're doing the right things - this works for me when I test msmq based solutions between windows 7 machines that are not part of a domain.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 3

To nanomass,
 
If you can't see the "Public Queues" folder in Computer Management, then you haven't turned on the windows feature "MSMQ Active Domain Services Integration". Once you've done that, you need to exit and re-enter Computer Management to see the "Public Queues" folder.
 
-- Art
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web03 | 2.8.1411022.1 | Last Updated 31 Jan 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100