Tuesday, November 23, 2004

MSMQT configuration and testing

I've been struggling along with MSMQT this morning, trying to get to grips with its installation and configuration, and how to get messages delivered through an MSMQT adapter. A couple of pointers for others who are trying this for the first time, and having problems:

1. Once MSMQT is installed (add a new adapter through the Admin console - see the documentation for details), the easiest way to test it, and the only way when developing on a single machine, is to set up an MSMQT send adapter to point to an MSMQT receive location, as below:

a.) Set up a receive location that uses the FILE adapter.
b.) Set up a send port that subscribes to the above port (using BTS.ReceivePortName filter) to consume the file, and uses the MSMQT send adapter to send it to a queue.
c.) Set up a second receieve location (in a different receive port - if it's in the same one as above you'll get a recursive message loop), that uses MSMQT to receive the message sent by b.) above.
d.) Set up a second send port that subscribes to the MSMQT receive location, and outputs the message to a file.

Stick a file into a.) and it should pop out of d.)

This'll demonstrate FILE -> MSMQT -> FILE transfer of a message, and demonstrates the MSMQT is correctly installed.

The more interesting issue is how to send a message to the receive queue using the System.Messaging API, which is what you'll want to be doing most of the time.

The easiest way to do this is to use the SDK\Samples\Adapters\SendMSMQMessage sample. Just open the solution and run it as is.

The gotcha is that you can't use this sample from the same machine - it must be running on a separate machine, that has MSMQ (not MSMQT) installed.

1 comment:

Anonymous said...

i am trying to run that sample SendMSMQMessage but its not working. i am sending message from MSMQ(WinXP Pro SP2) to MSMQT(Win2003/Biztalk2006) but it stays in MSMQ and does not deliver to MSMQT.
Any tip to resolve it???