JSON to JSON

Azure JSON-JSON transformations using JUST.Net library

Data transformation is a crucial component of an integration. In the Azure cloud, you have several ways to transform a JSON message into another one to match the target format. Here, I will provide you with a very powerful alternative I have been using for a while, the Workmaze JUST.Net library, available under the MIT license, created by Neeraj Salpekar.

Continue reading “Azure JSON-JSON transformations using JUST.Net library”

Integration tips: SSL, TLS, Certificates and HTTPS

In this article I will explain you the very basics of SSL/TLS which is widely used in today’s secure connection methods for web browsing, APIs, services and IOT. Although platforms and SDKs often use SSL/TLS behind the scenes without requiring you to implement anything, it is quite essential to have this basic knowledge to keep your integration/communication projects running securely and properly.

Continue reading “Integration tips: SSL, TLS, Certificates and HTTPS”

X++: How to get the D365FO URL correctly inside backend services

You may need to retrieve the URL of the D365 FO instance for logging or integration purposes, or for generating deep links. D365 FO foundation package provides you the URLUtility::getUrl() method for this. However this FO standard method does not work if you execute it from a batch or inside a custom API service. When we step into the code we see that it calls this method in Global class :

Continue reading “X++: How to get the D365FO URL correctly inside backend services”

Better Logic Apps error handling with consolidated error reports

With the correct use of Logic App “Scopes”, you can add try-catch style error handling functionality to your Logic Apps and in your Catch scope you can retrieve the fault details for failing blocks using “result(“<scope_name>”)” function.

However, fetching the actual error message from that result outputs is quite a challenge since there is unfortunately no LA standards where in the output body this message is and nearly every type of block reports their error message on different parts of the output document. Even the JSON tag name for the error message is not a standard and varies per block.

So, if we catch an error in the runtime of our Logic App, how to fetch the actual error messages for processing them later?

Continue reading “Better Logic Apps error handling with consolidated error reports”

How to integrate Dynamics AX 2012 with Azure and Power Platform

Newest Dynamics 365 Fin & Ops platform brings us many direct integration possibilities with Azure and Power Platform, but in older Dynamics AX 2012 we do not have that much. So, how can we achieve same integrations possibilities with the old on-premise Dynamics AX 2012? There are many ways to do that and in this post we will investigate the possible options and do some brainstorming on when and how to use them.

Continue reading “How to integrate Dynamics AX 2012 with Azure and Power Platform”

How to integrate with Dynamics 365 for Finance and Operations

In this post I will give an up-to-date overview of D365 Finance and Operations integration options, mentioning their methods of integration and advantages and disadvantages of every integration method compared to each other. I will also give you information and advices from my first hand experiences using them.

Continue reading “How to integrate with Dynamics 365 for Finance and Operations”

Is ASP.NET CORE 3 mature enough for production?

Years ago in my another blog post, I mentioned Microsoft has plans to make .NET open source and multi platform. In that time mentioning “open source” and Microsoft together was quite unusual and I was quite skeptical that the project will end up being a success. Yet the first two versions of .NET Core was so unstable to be used in a serious production project. So my early impression was the .net core project was heading towards the Microsoft scrapyard (next to webmatrix, silverlight and others)..

Well; in the end, I was wrong. Today we have .NET Core version 3.1, and it is not only mature and stable enough, it is more modular, scalable, future proof and actually much faster than the .NET framework itself. In fact Microsoft is currently planning to replace their .NET framework with .NET Core in their future release .NET 5.

And what about the new ASP.NET Core 3.1? Should we, eventually, invest time to learn it and use it in our next project? Absolutely yes, I recommend it not only for Web/Backend developers, but for whole Microsoft stack developers. It is the MS development technology of the future. Here I explain why:

Continue reading “Is ASP.NET CORE 3 mature enough for production?”

How to receive D365FO push notifications using Azure Notification Hubs

Azure Notification Hubs is a scalable push notification engine of Azure Cloud Platform for sending native notifications to iOS, Android, Windows, Google Chrome, Kindle and many other supported devices and notification services. In this article I will explain how it can be integrated with Dynamics 365 for Finance and Operations, setting up a sample application in Android for receiving native push notifications directly from D365FO, without using any third party applications like the Flow application.

Project demo (Visit original post if you cannot see this video demo)
Continue reading “How to receive D365FO push notifications using Azure Notification Hubs”

How to integrate D365FO with Microsoft Flow using the new Business Events

The Dynamics 365FO Business Events functionality is currently available as a preview feature since the release of Dynamics 365 Finance and Operations Platform Update 24. With the new Business Events functionality, we can finally integrate D365FO directly with workflow based cloud development tools like Flow and Logic apps.
Here in this article I will demonstrate how to create a new D365FO Business Event and use it directly from a Microsoft Flow using the new D365FO “When a Business Event occurs” trigger.

Continue reading “How to integrate D365FO with Microsoft Flow using the new Business Events”