NServiceBus/NServiceBus — comment on commit 0259e92d614660cddacd4b8e26167043037853ba
File:  line 0
By Bishbulb:

I've got a Saga configured as follows:
public class MySaga : Saga, IAmStartedByMessages, IHandleMessages
{
public void Handle(CommandA message) { }
public void Handle(EventA message) {}
}

My UnicastBusConfig section contains the appropriate mapping for EventA.

My EndpointConfig is setup as follows:
Configure.WithDefaultLogging()
.StructureMapBuilder(ObjectFactory.Container)
.XmlSerializer()
.DefiningEventsAs(t => t.Namespace != null && t.Namespace.EndsWith(".Events"))
.RunTimeoutManager()
.RavenSagaPersister()
.Sagas();

With this configuration, the message handler for EventA in MySaga is never invoked. Here's what I know:
a) It doesn't seem to be related to unobtrusive mode. Adding an IEvent declaration to EventA doesn't change the outcome.
b) The same problem exists if I comment out the RunTimeoutManager line in the endpoint saga configuration
c) The same problem exists if I comment out the RavenSagaPersister line in the endpoint saga configuration
d) Everything starts working correctly as soon as I manually subscribe the saga endpoint to EventA

I haven't tried to set this up in a unittest, but it seems to be fairly easy to reproduce. Do you see anything obviously wrong with my configuration?