Question

I'm using MassTransit version 2.7.0 to communicate between a web service and a web site. The web service publishes messages and the website subscribes to them.

Publisher service:

    ServiceBus = ServiceBusFactory.New(sbc =>
        {
            sbc.UseMsmq();
            sbc.VerifyMsmqConfiguration();
            sbc.ReceiveFrom("msmq://localhost/publisher");
            sbc.UseMulticastSubscriptionClient();
        });

Subscriber website:

    ServiceBus = ServiceBusFactory.New(sbc =>
        {
            sbc.UseMsmq();
            sbc.VerifyMsmqConfiguration();
            sbc.ReceiveFrom("msmq://localhost/website");
            sbc.UseMulticastSubscriptionClient();

            sbc.Subscribe(s =>
                {
                    s.Handler<SomethingHappened>(HandleSomethingHappened);
                });
        });

Everything works fine on my dev machine but not on the live site. The messages are showing up in the website_subscriptions MSMQ queue, but they aren't getting picked up by the subscribed website. The server does have multiple NICs so I added the registry settings to support that. I don't get any errors or anything - it just doesn't pickup the messages from the queue.

Am I missing some configuration or permissions problem? Is there some way to see why it isn't working?

[edit] I just noticed that the website_subscriptions queue is all messages from the framework: AddPeerMessage and AddPeerSubscriptionMessage. All the messages from the service (SomethingHappened in the above example) are in the error queue.

Was it helpful?

Solution

You might try setting up the Log4Net or NLog integration to see what is happening in MassTransit. They did a great job of logging lots of useful troubleshooting information.

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