.NET clients cannot see azure service bus messages created by node
09:35 16 Feb 2026

I have a node server that is posting messages to an azure service bus topic using the rhea client. The system reading the messages is a .NET console app using the AMQP.NET Lite library. Both clients are AMQP 1.0 compliant.

Here is the sample server code (node.js) sending data to azure service bus:

import container from 'rhea';

const azureConfig = {
    address: 'my-service-bus.servicebus.windows.net',
    hostname: 'my-service-bus.servicebus.windows.net'
    user: 'RootManageSharedAccessKey',
    password: 'some-password',
};

const connection = container.connect(azureConfig);

connection.on('connection_open', () => {
    console.log(`Connection opened to ${azureConfig.address}`);

    const sender = connection.open_sender('my-topic');

    sender.on('sendable', function(context) {
        context.sender.send({ body: 'Hello Topic!' });
        console.log('Sent message to topic');
    });
});

connection.on('error', (err) => {
    console.error('Connection error:', err.message);
});

Here is the .NET client:

using Amqp;


Address address = new Address("my-service-bus.servicebus.windows.net", 5671, "RootManageSharedAccessKey", "xxx");
Connection connection = new Connection(address);
Session session = new Session(connection);
ReceiverLink receiver = new ReceiverLink(session, "sub-1", "my-topic");

Console.WriteLine("Receiver connected to broker.");


Message message = await receiver.ReceiveAsync();

if (message != null)
{
    Console.WriteLine("Got a message of type " + message.GetType());
    Byte[] bytes = message.GetBody();
    Console.WriteLine(System.Text.Encoding.Default.GetString(bytes));
    receiver.Accept(message);
 }

The node client does seem to successfully post messages to the correct topic on the service bus. I know this because if I have create a node reader using rhea it receives them. But the .NET client doesn't seem to be getting them. It just sits there listening for messages and never gets any. Similarly, I know the .NET client is capable of receiving messages because if I create .NET message sender using the same AMQP.NET Lite library, the .NET client receives those. So it appears to be something getting lost between posting messages in node and receiving them in .NET.

I'm wondering if it has to do with the azure service bus subscriptions. Service bus wants each client to create a unique subscription under a topic. You can see that in the AMQP.NET Lite code (it's called sub-1). As far as I can tell rhea doesn't seem to support that concept. Is that the issue?

node.js azure amqp rhea