AX7 / VM running on-premises (Web Application gives 500 error)

After all the wait in the world, we finally have hands on the VM for AX 7.

VM Download: https://connect.microsoft.com/site1321/Downloads

You will need to login from partner source account

AX7 Wiki URL: https://ax.help.dynamics.com/en/wiki/access-microsoft-dynamics-ax-7-instances-2/

While setting up the VM, almost everything went smooth enough. However had single road blocker issue while running the web application for the AX7, the Batch Service and all other services ran pretty well.

Will elaborate issue below …

Issue:

When you try to access base URL for the VM https://usnconeboxax1aos.cloud.onebox.dynamics.com, you get an error saying it is unable to connect to server, with 500 error.

Solution:

Run the “User Provisioning tool” as Administrator and provide the email address administrator@contosoax7.onmicrosoft.com and hit Submit.

Submit - User Provision

After running the tool, it will update the settings and will show you success message. If there is any error, restart the system and try again.

After getting message for provisioning, hit the URL https://usnconeboxax1aos.cloud.onebox.dynamics.com, give credentials from wiki page and you should be able to launch AX7.

Enjoy the new way of AX !!!

Update December 26, 2015:

While I am using Oracle VM Virtual Box – every time state was saved for the VM, I have to restart the machine again fully to AX 7 Web Site to work. Otherwise it will give 500 error as well. Just a point to note!

 

 

Dynamics AX 2012 – Reports – “No data available”

Problem:

A working report suddenly stops working for a “User” in production environment with message “No data available”.

Research:

While report worked for every other user and only that particular user seems to had a problem while running the particular report. While he was able to run other reports in that same module fine.

This was a strange enough situation for us, while we checked code, security etc… at first we were not able to find the exact cause of this behavior. But we were sure it has something to do with the security that is finally applied when running the report. So, we created a test user with same roles assigned on lower environment.

During our debugging and profiling the calls to actual database saw a strange behavior.

The query generated from X++ was same for user who was able to run the report and the user who wasn’t able to run the report, but interestingly the SQL Profiler showed EXTRA parameters added to where clause of SQL that was getting executed. The extra condition caused the data to not appear – the condition was always going to result in a FALSE.

The query generated was something like below notice 1=3

SELECT ………. FROM InventTable T1 Inner Join InventDim T3 … WHERE 1=3

This cause the data to not appear for that user, AX kernel seems to validate the permissions and inject the condition to make sure that data doesn’t come from the source – making the sure that data is being security and row level security is applied though this.

Solution:

The solution to the problem was to add all used tables used in the Query for the report in the user’s privileges in AX.

HTH

CREDIT: #awesome #team #visionet #findingsolutions