Question

We've developed a MassTransit based demo which is working well as long as all processes run on the same server.

However, as sonn as my receiver wants to subscribe himself at another machine it hangs for a while and afterwards we receive the following exception:

"System.InvalidOperationException: Timeout waiting for subscription service to respond."

Checked already: Firewall rules for MSMQ (inbound and outbound), network, etc.

What could have gone wrong?

  • Subscription queues on the other machine are private? Is this a problem?
  • Do we have to change the address format in some special way? msmq://computerName/queueName not ok for remote connections?

Looks like we have forgotten some tiny thing, as nobody else had this problem before...

Was it helpful?

Solution 2

For reference: the problem has been a wrong URL in the receiver queue, the receiver queue always resides on the local system of course. Sorry for any inconvenience.

OTHER TIPS

The most likely thing is MT assumes somethings about remote queues - that they are transactional. Local queues can be queried to discover that, but remote queues you cannot. I would add ?tx=false to the end of your remote queue URI if you aren't using transactional queues for the subscription service.

Next, double check the outgoing queues on the local machine. Are the message stuck there or did they disappear? If you are using transactional queues, can the machines enroll in a DTC transaction together?

Answering your question, all queues are private. This is not a problem, they are still remotely addressable.

I hope this helps get you further. After that, I would consider joining the mailing list and posting your questions there: https://groups.google.com/forum/?fromgroups#!forum/masstransit-discuss

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top