 <p>haven't use a no-xml configuration yet, but with the config file it would look like:</p> <pre><code>&lt;MsmqTransportConfig InputQueue="WorkerQueueForCurrentService" ErrorQueue="ErrorQueue" NumberOfWorkerThreads="1" MaxRetries="5"/&gt; &lt;UnicastBusConfig&gt; &lt;MessageEndpointMappings&gt; &lt;add Messages="AssemblyName1" Endpoint="PublisherQueue1" /&gt; &lt;add Messages="AssemblyName2.Message1, AssemblyName2" Endpoint="PublisherQueue2" /&gt; &lt;add Messages="AssemblyName2.Message3, AssemblyName2" Endpoint="PublisherQueue2" /&gt; &lt;/MessageEndpointMappings&gt; &lt;/UnicastBusConfig&gt; </code></pre> <p>so your worker queue for the current service is "WorkerQueueForCurrentService" and it subscribes to different messages that are published on the queues "PublisherQueue1" and "PublisherQueue2". i have included a sample for the subscription of a whole messageassembly (see add messages line 1) and for specific messages in a given messageassembly (see add messages line 2 and line 3).</p> <p>Kristian kristensens answer is not correct. the input queue is relevant for every service that uses nservicebus. regardless of whether it's an publisher or an subscriber. a publisher receives subscription notices on the input queue and the subscriber sets the input queue as the destination queue for a subscription notice that is sent to the publisher.</p> <p>if you want to programmatically subscribe to messages like mrnye says you would need a messageendpointmapping. so if you do bus.subscribe nservicebus looks into his messageendpointmappings and tries to extract the publisher queue name where this message gets published.</p> <p>messageendpointmappings are used for both:<br> - the lookup of which messages gets published where<br> and<br> - the destination queue where messages are sent which you bus.send()</p> <p>hope this clears some things up :-)</p>