3
votes

I have tried to use NServiceBus version 3 to receive messages sent to a MSMQ queue from a remote client machine. The client resides in the same domain as the machine on which the destination queue exists. This latter machine runs the Windows Server 2008 R2 (MSMQ version 5.0) as operating system. considering the NServiceBus documentations, I specified the endpoint name in the form "QueueName@MachineName". However, the messages were not sent to the specified queue. It seemed that "Transactional" property of the "MessageQueue" class caused the problem. So I bypassed accessing that property in NServiceBus source code. As a result the messages were sent successfully but no reply message was received on the client side. More precisely, when I look at the message info on the Server Manager window, the name of the response queue is empty. This happens only when the messages are sent remotely. It seems that I have set some configurations incorrectly. I want to know what config info I need to provide in order to make NServiceBus work in the context mentioned. Moreover, is there a sample project which demonstrates how to use NServiceBus for sending messages to a remote queue and receiving corresponding reply messages.

1
Are you trying to do a remote receive? If so, NSB receives from local queues only.Adam Fyles
No, I just want to send the messages remotely (i.e. send them to a remote queue). In fact receiving is done locally by NServiceBus and a new message is expected to be sent in response to the one received.Ali Laleparvar

1 Answers

3
votes

If you configured the client process as a send-only endpoint, then it won't include its return address in the messages that it sends, meaning that the server won't be able to respond. That being said, I don't think that that's your problem.

You should try running the Full Duplex sample that comes with NServiceBus on your machines to see if it works correctly. If it doesn't, that means you have a deeper installation problem on those machines that needs to be corrected.