Hi!
I am attempting to bridge audit messages from sql transport to msmq transport in order to have just one service control instance to monitor. Like the documentation, i have configured it like this:
var msmqBridgeTransport = new BridgeTransport(new MsmqTransport()) { AutoCreateQueues = true };
msmqBridgeTransport.HasEndpoint(“Particular.ServiceControl”);
msmqBridgeTransport.HasEndpoint(“audit”);
msmqBridgeTransport.HasEndpoint(“error”);
The audit handling seems to work when it’s sent from msmq endpoints, but not from sql endpoints, i then get exceptions in the bridge service like this:
Message shovel operation failed, message will be moved to bridge. Error@[dbo]@[MyDatabaseName]
Exception:
System.Exception: Failed to shovel message for endpoint audit with id 6bdad879-8254-4afa-9e73-6ba90936a2a8 from sqlserver to msmq
---> System.Exception: Failed to send message to address: audit@MyMachine
---> System.ArgumentException: Address contains multiple @ characters. Address supplied: 'SendingEndpoint@[dbo]@[MyDatabaseName]' (Parameter 'address')
at NServiceBus.Transport.Msmq.MsmqAddress.Parse(String address) in /_1/nservicebus.transport.msmq.sources/3.0.1/contentFiles/cs/net8.0-windows7.0/NSB.Transport.Msmq/MsmqAddress.cs:line 23
at NServiceBus.Transport.Msmq.MsmqMessageDispatcher.SendToDestination(TransportTransaction transaction, UnicastTransportOperation transportOperation) in /_1/nservicebus.transport.msmq.sources/3.0.1/contentFiles/cs/net8.0-windows7.0/NSB.Transport.Msmq/MsmqMessageDispatcher.cs:line 99
The heartbeat bridging seem to work fine. Error bridging might work (i haven’t seen any errors on the sql transport yet), but audits do not.
I’m wondering if the setup i want is possible or if i simply can’t bridge audits from sql to msmq?
I created a github issue, but i though i would ask here aswell.