web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Suggested Answer

Microsoft.ServiceBus.Messaging retirement

(0) ShareShare
ReportReport
Posted on by 252

Hi Everyone,

 

We currently use Microsoft.ServiceBus.Messaging (QueueClient, BrokeredMessage) directly from X++ in D365 Finance & Operations to send messages to Azure Service Bus.

Microsoft has announced retirement of the WindowsAzure.ServiceBus SDK on September 30, 2026 and recommends Azure.Messaging.ServiceBus as the replacement.

However, in our current F&O development environment (48 and 49), Azure.Messaging.ServiceBus is not available as a platform reference, and X++ cannot resolve the namespace.

Is Microsoft.ServiceBus.Messaging usage from X++ also affected by this retirement? If yes, what is the Microsoft-recommended migration approach for D365 F&O X++ applications? Will Azure.Messaging.ServiceBus be provided by the F&O platform, or are ISVs expected to package/reference the new SDK themselves?
 

Thanks!

Categories:
I have the same question (0)
  • Suggested answer
    Aps10 Profile Picture
    90 on at

    Worth separating two things happening on the same date, because only one of them breaks your code.

    The SDK retirement means WindowsAzure.ServiceBus stops receiving support and security updates. Your code keeps running. 

    The SBMP protocol retirement is different — after 30 September 2026 the service refuses SBMP connections outright, at the network level.

    Which one hits you depends on your connection. WindowsAzure.ServiceBus 2.1 and later can use AMQP 1.0, but it's opt-in and plenty of deployments never enabled it. If your QueueClient is still on SBMP, you have a hard outage on that date. If you're already on AMQP, you have an unsupported library, which is a different and less urgent problem. I'd establish that first, because it decides your timeline.

    On the migration itself, I wouldn't reference Azure.Messaging.ServiceBus directly from X++ even once it resolves. It's async-first, so Task-based APIs from X++ mean GetAwaiter().GetResult() everywhere, which is where deadlocks come from. And it pulls a substantial dependency tree with Azure.Core and friends, which brings assembly binding questions you can't easily resolve in a cloud-hosted environment.

    What I'd do instead is a C# class library in the same solution. Reference the NuGet package there, expose a small synchronous facade — SendMessage(queue, payload) — and call that from X++. The dependency tree and the async model both stay inside the library.

    Stepping back though: is X++ the right place for this at all? Business events support Azure Service Bus queue and topic as first-party endpoint types, both with their own Microsoft documentation, so this isn't something you'd build. It also changes your credential story — the endpoint authenticates through Key Vault and an Entra application rather than a connection string sitting in X++. If you're sending messages in response to something happening in F&O, that removes the SDK dependency entirely and the retirement stops being your problem.

    On whether the platform will ship Azure.Messaging.ServiceBus as a reference — I don't know, and I'd put that to Microsoft directly rather than the forum. If you're an ISV it matters a lot, since packaging your own copy of a common SDK creates version conflicts with anyone else doing the same.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
Martin Dráb Profile Picture

Martin Dráb 353 Most Valuable Professional

#2
CU10121822-0 Profile Picture

CU10121822-0 312

#2
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 312 Super User 2026 Season 2

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans