Connecting To A Private Remote MSMQ Queue
-
I'm trying to connect to a remote private MSMQ queue using the path: "FormatName:DIRECT=OS:remoteMachineName\Private$\MyQueue" and I'm getting the following error: "The specified format name does not support the requested operation. For example, a direct queue format name cannot be deleted." I'm obviously doing something wrong. However this does work using a local queue. I'm using Spring.Net's http://www.springframework.net/doc-latest/reference/html/msmq.html. Here's my config <objects xmlns="http://www.springframework.net"> <object id="myQueue" type="Spring.Messaging.Support.MessageQueueFactoryObject, Spring.Messaging"> <property name="Path" value="FormatName:DIRECT=OS:remoteMachineName\Private$\MyQueue"/> </object> <object id="messageQueueTemplate" type="Spring.Messaging.Core.MessageQueueTemplate, Spring.Messaging"> <property name="DefaultMessageQueueObjectName" value="myQueue"/> </object> <object id="messageGateway" type="My.MessageGateway, My.Assembly"> <property name="MessageQueueTemplate" ref="messageQueueTemplate"/> </object> </objects>
-
Answer:
Is this a transactional queue? Remote read from transactional queue is not possible. Maybe the spring framework try to check if this a transactional queue, and this is also an operation that is supported only on local queue. The recommanded why to work with queues is to write to remote queue and read from local queue. In msmq 4.0 ( vista and windows 2008 ) remote transactional read is supported ( so I have heard). Can you debbug the spring.net code and see the exact code when the process fail?
Ian at Stack Overflow Visit the source
Other answers
the first thing striking my eyes is the casing of your endpoint address. At least all other examples posted in this thread or http://www.infosysblogs.com/microsoft/2007/05/msmq_receiving_messages_from_r.html use different casing. Second you are not escaping the backslashes within the string. Instead of "FormatName:DIRECT=OS:remoteMachineName\Private$\MyQueue" try "FormatName:Direct=OS:remoteMachineName\\private$\\MyQueue" hth, Erich
Erich Eichinger
The Microsoft Help documents state that private queues are only "available" from the local computer: Public queues are replicated throughout the Message Queuing network and can potentially be accessed by all of the sites connected by the network. Private queues are not published across the entire network. Instead they are available only on the local computer that contains them. Private queues can be accessed only by applications that know the full path name or label of the queue. (from: http://msdn.microsoft.com/en-us/library/19ww660c(VS.71).aspx). This is all a bit ambiguous really! Another post on Stack Overflow references this article: http://technet.microsoft.com/ja-jp/library/cc753440(WS.10).aspx Which has a much more useful description of Public vs Private queues.
Liam
Your Trying is correct,but you have to define two other properties for your object indicating your queue is remote or not and is transactional or not: <object id="myQueue" type="Spring.Messaging.Support.MessageQueueFactoryObject,Spring.Messaging"> <property name="Path" value="FormatName:DIRECT=OS:remoteMachineName\Private$\MyQueue"/> <property name="RemoteQueue" value="true"/> <property name="RemoteQueueIsTransactional" value="true"/> </object>
Masoud
Is it even possible to connect remotely to a private queue? I thought that's what public queues were for. I could totally be missing something - I've only used private queues locally using WCF - definitely worth looking into WCF if this is a .NET project, as it hides alot of the MSMQ goo. Here's info on public vs private queues: http://msdn.microsoft.com/en-us/library/ms706878(VS.85).aspx
Daniel
Related Q & A:
- What's the difference between a private franchise and a public franchise?Best solution by answers.yahoo.com
- How do you put a background on a private myspace page?Best solution by Yahoo! Answers
- Does Anyone Know Where I can Consolidate a Private and a Federal Loan?Best solution by sofi.com
- How to get a new title when you buy a car from a private seller?Best solution by dol.wa.gov
- Can I connect a universal remote to a comcast box?Best solution by customer.xfinity.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.