Hi,
I am trying to use msmq over http (or srmp) in a smart device application (.net cf). I have been able to send messages over http in a desktop application ,but I am not able to do the same in .net cf. Is msmq over http supported in .net cf 2.0 For Windows Server 2003 I had to install a msmq over http component , is there something similar that needs to be done on the device/emulator Am I missing something here
Thanks,
Deepthi

MSMQ Over http in .net cf 2.0
Z.Z.C
Yes, there's MSMQ ISAPI DLL you need to hook into CE Web server.
Also you need to fix all networking issues. You must be able to reach device MSMQ URL from desktop’s IE.
I would advice against using AS for networking as it’s quite limited. Set up emulator with virtual network (search emulator's forum if you don't know how) or use real device with real production networking.
mark brayton
Cogz
Hi,
I am trying to use msmq over http (or srmp) in a smart device application (.net cf). I have been able to send messages over http in a desktop application ,but I am not able to do the same in .net cf. Is msmq over http supported in .net cf 2.0 For Windows Server 2003 I had to install a msmq over http component , is there something similar that needs to be done on the device/emulator Am I missing something here
Thanks,
Deepthi
Debbie M
Hi Deepthi,
MSMQ is supported on .Net Compact Framework 2.0. Please see http://msdn2.microsoft.com/en-gb/library/ms229665.aspx for more information and a link to a .Net Compact Framework 2.0 sample that uses MSMQ.
I hope this is helpful,
Michael Green [MSFT]
Zoe Elmo
Thanks for the reply Michael ! I have been able to send and receive meesages on the local queues .net cf ,but not able to do so using direct addressing format (for eg @"FORMATNAME:DIRECT=TCP:ip_address\private$\testq" or @"FormatName:DIRECT=http://ip_address/msmq/Private$/testq")
I am getting an exception that has the following message "Cannot determine if the queue with the specified format name exists". Is there support for msmq over http or srmp in .net cf
Thanks,
Deepthi
Xiaobo Gu
System.Messaging is not aware of transport mechanism, it just passes queue name to the native MSMQ as is. If particular MSMQ supports SRMP and is properly configured, it would work. Note SRMP requires web server installation on the device.
SRMP is not supported on PPC 2003.
R Raghu
Hi,
I am trying to send messages using msmq over http. But I am not able to receive and read the messages. I read in blogs that you cannot read the messages using direct format names, so I am trying to access the queue on the receiver using the following code :
Sender :
System.Messaging.
MessageQueue mq = new System.Messaging.MessageQueue("FormatName:DIRECT=http://ip_address/private$/msmq/notifications" ;...code for sending the message
At the Receiver:
MessageQueue q = new MessageQueue(@".\private$\notifications");try
{
System.Messaging.
Message m = q.Receive(new TimeSpan(1, 1, 0)); MessageBox.Show((string)m.Body);}
But when the code to receive from this queue is executed ( q.Receive(new TimeSpan(1, 1, 0)) ) , I am getting the following System.Messaging.MessageQueueException with the following message : "The queue does not exist or you donot have sufficient permissions to perform this operation" .
I verified that message queueing is installed. Also on the sending machine I verified in \system32\msmq\storage folder and found that my message was present there. Is the message getting sent in the first place How do i verify the same If yes, how do I receive the message that has been sent using http
Could you please help me out here
Thanks,
Deepthi
Brainsponge
Thanks for the reply ! I have been able to send and receive meesages on the local queues .net cf ,but not able to do so using direct addressing format (for eg @"FORMATNAME:DIRECT=TCP:ip_address\private$\testq" or @"FormatName:DIRECT=http://ip_address/msmq/Private$/testq")
I am getting an exception that has the following message "Cannot determine if the queue with the specified format name exists". Is there support for msmq over http or srmp in .net cf
Thanks,
Deepthi
Basmanner
Hi Deepthi
Yes, System.Messaging namerspace (MSMQ) is supported on .NET CF 2.0. In addition you have to install the MSMQ package on the device.
Overview see: http://msdn2.microsoft.com/en-us/library/ms229665.aspx
Install MSMQ on WM5: http://msdn2.microsoft.com/en-us/library/ms880661.aspx
Hope this helps
Michael
Jebat
First of all, why would you even try creating the local queue (on localhost) via HTTP Always do it locally.
Note you can not create/delete/read remote queues on MSMQ CE regardless of protocol.
Next, your URL is incorrect, should be:
FormatName:Direct=HTTP://server_name/MSMQ/private$/testq
Note MSMQ should be before queue name. Before you continue, try accessing this URL from IE/Pocket IE. If you can’t reach, MSMQ can’t do it either.
Geoff Dupuis
Fred Robinson
Thank you so much for your reply Michael.
In fact I am not able to create a queue using Direct format names at all in the .net cf code. Following is the code that I have written :
string strDestQ =@"FormatName:Direct=HTTP://localhost/private$/MSMQ/testq";try
{
if(!MessageQueue.Exists(strDestQ)) MessageQueue.Create(strDestQ); MessageQueue mq = new MessageQueue(strDestQ);mq.DefaultPropertiesToSend.UseDeadLetterQueue =
true;mq.Send(
"Hello"); But in MessageQueue.Exists() I am getting the following exception :"cannot determine whether a queue of the specified format name exists"
If I remove the check for the queue.exists and try to create a queue with the direct format name, I am getting the following exception in MessageQueue.Create() :
"cannot create a queue with path: FormatName:Direct=HTTP://localhost/private$/MSMQ/testq"
Infact, the same exceptions occur whenever I creat the queue with any direct format name in .net cf 2.0 (TCP/OS/HTTP).
I have verified the following :
1.Httpd web server installed
2.Msmq installed, registered and started
3.srmp enabled
Am I missing something here Could you please help me out with the same asap I am really stuck here ...
Thanks,
Deepthi
Sergio Ortiz
VBAddict
Hi,
I am trying to use msmq over http (or srmp) in a smart device application (.net cf 2.0 windows mobile 5.0 emulator). I have been able to send messages over http in a desktop application ,but I am not able to do the same in .net cf. In fact I am not able to create a queue using Direct format names at all in the .net cf code. Following is the code that I have written :
string strDestQ =@"FormatName:Direct=HTTP://localhost/private$/MSMQ/testq";try
{
if(!MessageQueue.Exists(strDestQ)) MessageQueue.Create(strDestQ); MessageQueue mq = new MessageQueue(strDestQ);mq.DefaultPropertiesToSend.UseDeadLetterQueue =
true;mq.Send(
"Hello"); But in MessageQueue.Exists() I am getting the following exception :"cannot determine whether a queue of the specified format name exists"
If I remove the check for the queue.exists and try to create a queue with the direct format name, I am getting the following exception in MessageQueue.Create() :
"cannot create a queue with path: FormatName:Direct=HTTP://localhost/private$/MSMQ/testq"
Infact, the same exceptions occur whenever I creat the queue with any direct format name in .net cf 2.0 (TCP/OS/HTTP).
I have verified the following :
1.Httpd web server installed
2.Msmq installed, registered and started
3.srmp enabled
Am I missing something here Could you please help me out with the same asap I am really stuck here ...
Thanks,
Deepthi