While developing and testing i faced caching issues. As a user with -SYSADMIN- rights the code was executing correctly but as a normal user the code was not executing and was throwing weird errors. One of the errors created was “Function SysOperationDataContractInfo::newParameterInfo has been incorrectly called“.
The custom code extended the SysOperationServiceController and had complex levels of abstraction and old code was probably cached in the roaming profile of the user. After resetting the usage data the error was still thrown, time to remove the AUC files.
What are AUC files?
AUC files help speed up the application by storing objects locally, known as cache files. This means that you don’t need to download objects every time your using a functionality in Dynamics AX.
To ensure your executing new code while testing you need to remove these AUC files. The files are located in C:\Users\%username%\AppData\Local\ and have a GUID number in the filename and have the extension .AUC. Select the files and delete them.
If your not using a local profile remove the files from your roaming profile example network path: \\fileshare\userprofiles$\%username%\AppData\Local\.
When we removed the files and (re)started the Dynamics AX 2012 application the code was executing fine.