Skip to main content

Posts

Expose AX 2012 AIF services (SOAP) as RESTful web services

A colleague of mine Fabio Filardi has published his work on Github. It has two samples for the Expense services and UserSession services. He has documented it really well. Get onto it if you are going to expose your web services as RESTful. It does save you a lot of time. Github project https://github.com/ffilardi/AxaptaAPI Documentation under wiki https://github.com/ffilardi/axaptaapi/wiki   Here are some additional notes. Microsoft has documented it really well too. So, get your head around the concepts and the above links should be of great benefit to you. This is a good summary of the Azure service bus adapter with AX. http://blogs.msdn.com/b/aif/archive/2013/04/29/aif-windows-azure-service-bus-adapter.aspx Whitepaper from Microsoft on how to extend it. Microsoft provides an example by talking about mobile app. Concept is how to expose your web services securely outside the domain. https://www.microsoft.com/en-us/download/details.aspx?id=38413 Fabio has written a blog...

Multi threading–Adding run time tasks

Last year I posted about multi threaded operation using BOF Also uploaded a sample project you could use to test it out or use as a template. Multithreading with Business Operation Framework [AX 2012] One thing I picked up after testing it in a large scale project which required scheduling it on a non default (blank) batch group. This had a few issues: Originally I was using the  batchHeader.addTask(this.newTaskController(recIdSet)); Below are the two issues of using this method like this. 1. There is a known issue to set the controller execution mode to be Synchronous. Whitepaper: https://www.microsoft.com/en-us/download/details.aspx?id=29215 Screenshot of the known issue. This separates it as its own batch job which disappears after it is finished. This is not the desired result when we are adding tasks at runtime. We want to keep them as tasks under the main batch. 2. Another issue is it will set the batch group as the default batch (blank). In my case the blank bat...

AX7 Recurring File (folder) integration

The new Dynamics AX is 100% in the cloud and that means some complication when it comes to file based integration. The AOS is hosted on the cloud and has no way of accessing folders. What we have is web services which we can stream a file to. This is explained nicely in the wiki site. https://ax.help.dynamics.com/en/wiki/recurring-integrations/ Microsoft has released a github project to process local/network folders and stream to the web service. https://github.com/Microsoft/Dynamics-AX-Integration Run the DIXF sample .NET project and you will get this window. The future where I see this heading is using Azure Logic Apps . Azure Logic Apps allows you to integrate with multiple connectors. I hope we get AX as one of the connectors. Today you can make it work using a wrapper web API app with swagger. Then the fields are recognized as part of the user interface. These comments around Azure Logic is personal and not from Microsoft. The future is looking really cool.

Dynamics AX 2012–How to investigate SSRS errors

Recently I was investigating an issue when printing customer statements, randomly I was getting errors. The error wasn’t really helpful as it gave a generic error in the infolog. So, in this post I will explain how to investigate SSRS errors and hope it helps others out there. What is the Error An error occurred rendering the report. Accessing the report server URL  caused an error. The remote server returned an error: (500) Internal Server Error. Microsoft.Dynamics.Ax.Xpp.ErrorException: Exception of type 'Microsoft.Dynamics.Ax.Xpp.ErrorException' was thrown.    at Dynamics.Ax.Application.SrsPrintMgmtController.Outputreports() in SrsPrintMgmtController.outputReports.xpp:line 96    at Dynamics.Ax.Application.CustAccountStatementExtController.Runprintmgmt() in CustAccountStatementExtController.runPrintMgmt.xpp:line 129 Step 1 – Check SSRS log files The first place is obviously the event viewer. That generally won’t give that much more information from my ex...

Dynamics AX 7 - Searching using BaseX

In a previous post I wrote about the benefit of being file based model store. It allows for quick searching. On top of this the files being xml it allows for using complex searching using XPath and XQuery to find properties. There is a tool out there called basex which is a light weight xml database engine. Allowing for very powerful query and searching. Download it from the site http://basex.org Create a new Database and select the Packages folder. Make sure to tick skip corrupt files as there is 1 file it is not well formatted xml. Take a few minutes Screenshot below gets all the developer documentation on the tables. Another example count the methods and the their name. Big thanks to Peter Villadsen ’s session at the recent tech conference. Mining the Metadata and Authoring X++ Best Practice Rules in Microsoft Dynamics AX I copied his queries from the video to get started (above two screenshots) but I already started experimenting with different things we can get out of...

Where did my list pages go in AX7?

In AX 2012 we had to maintain two forms; a list page and a details form. This has changed in AX7 with the introduction of form patterns. Now we only have to maintain a single form and by applying the correct patterns it is displayed accordingly. This is a big benefit and reduces the overhead of developing and maintaining two forms. Below is an example: Figure 1: Customer list Figure 2: Customer details with the navigation list pulled out Below you see the different patterns. The menu item has a view option which allows you to open the form in the selected view.

Dynamics AX 7–Quick Searching Code

This is quite a helpful tip given to me some time back. Most of the time you want to find a particular piece of code from the whole AOT. In AX7 all the code is file based which means searching can be done much faster with some tools. I have used agentransack but there are other tools out there you could use. http://www.mythicsoft.com/agentransack/download This is handy finding code examples or references in code.