MSMQ Question

S

Steve B.

Hi,

I'm making some test to evaluate MSMQ on pocket PC 2003. The goal is to
build a transport mecanism for distant users (orders creation).

I can use MSMQ locally on the device with some pieces of code grabbed on the
web.

However, I was not able to put a message on a central server message queue
(neither private nor public queue).

Everytime I get an error telling me that I do not have the rigths to use the
queue or the queue does not exists.

Is there any limitation to consider ? Is there any sample describing this
processs?

Thanks,
Steve
 
I

Ilya Tumanov [MS]

Are you using "FormatName:" prefix for remote queues path? There's no AD on
devices, so attempt to resolve path will always fail unless you do that.
Also make sure you've enabled connection in MSMQ:
http://blogs.msdn.com/ihimmar/archive/2004/06/14/154909.aspx

Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

*** Want to find answers instantly? Here's how... ***

1. Go to
http://groups-beta.google.com/group/microsoft.public.dotnet.framework.compactframework?hl=en
2. Type your question in the text box near "Search this group" button.
3. Hit "Search this group" button.
4. Read answer(s).
 
S

Steve B.

I'm using this path :

\mycomputer\ordersqueue

The MessageQueue actually exists (and is proposed by VS 2005 in the property
grid of the MessageQueue object.

I disabled the firewall on the targeted computer and allow the group
"EveryBody" to send messages.
I also unchecked the option that disable dependent client.

I also checked that the targeted computer is accessible using
http://mycomputer. I was able to see the IIS home page...

None of my tests allowed me to send a message to the "central" computer.


Thanks,
Steve
 
I

Ilya Tumanov [MS]

Here're few rules for opening remote queues from device:



1. You can only access private queues, not public queues registered in AD.

2. You have to specify format name.

3. If remote queue is transactional, you have to append ";XACTONLY" to the
queue path and use Single Message Transaction mode.



You're using "\mycomputer\ordersqueue"; let's see why this won't work on CE:



1. It's public queue in AD, so #1 is violated.

2. It's not a format name, so #2 is violated.

3. If that's transactional queue, #3 is also violated.



Examples of correct way to specify remotes queues would be:



Not transactional:



MessageQueue messageQueue = new
MessageQueue(@"FormatName:Direct=OS:mycomputer\Private$\ordersqueue");



Transactional:



MessageQueue messageQueue = new
MessageQueue(@"FormatName:Direct=OS:mycomputer\Private$\ordersqueue;XACTONLY");



You also have to specify format name to open queue on device from desktop:



MessageQueue messageQueue = new
MessageQueue(@"FormatName:Direct=OS:mydevice\Private$\ordersqueue ");




There's a series of articles available on MSMQ CE/System.Mesaging, please
consider taking a look: http://blogs.msdn.com/ihimmar/default.aspx



Also, there's a sample application available:
http://msdn2.microsoft.com/en-us/library/ms180970.aspx


Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

*** Want to find answers instantly? Here's how... ***

1. Go to
http://groups-beta.google.com/group/microsoft.public.dotnet.framework.compactframework?hl=en
2. Type your question in the text box near "Search this group" button.
3. Hit "Search this group" button.
4. Read answer(s).
 
S

Steve B.

Thanks,
I'll take a deep look, but since I did not use FORMAT: I suppose this is the
first step to solve my problems.

Thanks,
Steve
 
G

Guest

Hi Steve

Did you get a solution to this problem?

I have the exact same setup. I can work with the queue locally on the
device, but I'm not able to reach a private queue on the desktop pc (attached
via ActiveSync). I can ping the device from the desktop pc and I have tried
to set the FormatName to TCP
("FormatName:DIRECT=TCP:192.168.1.2\\private$\\mqsample") and then specify
the desktop pc's TCP/IP adress. But I get the QueueNotFound (-1072824317)
exception.

I'm just using the CD Windows Mobile 5 MSMQ Order sample.

Regards
///Jørn
 
G

Guest

I actually got this to work, when my network connection from the
emulator/device was ok. When I could ping the device through its name and I
further could browse to the server with the IE from the device, the
connectitity was ok and then I could access (send) to a private queue on the
server.

regards
///Jørn
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top