Code highlighting

Saturday, February 20, 2016

Announcement: Microosft Dynamics Salary Survey 2016

As you saw from my last post, Tech Conference is happening next week.
That is a great opportunity to mingle with other partners and developers, potentially finding that ideal place of work you have always dreamed of.

In that context, consider participating in the Microsoft Dynamics salary survey carried out each year by Nigel Frank.
I always enjoy reading through and comparing all the numbers and just the general stats are pretty fun.

Here's a more detailed description of the survey from the organizer. Note some nice Microsoft branded prizes for 3 random participants. It's free to participate, and the chance to win is pretty good, considering the number of Dynamics specialists out there. Go for it!

Take the Survey Now

Find out How Your Salary Compares to Others in Microsoft Dynamics Roles. Take Microsoft Dynamics Salary Survey 2016

Take part in Nigel Frank’s industry acclaimed annual Microsoft Dynamics Salary Survey in its 7th edition and find out how your remuneration compares to others in similar roles. You will automatically be entered into a prize draw to win a  Microsoft Surface Pro 4, Xbox One or Microsoft Band 2.

Once the Salary Survey report has been compiled, you'll be one of the first to receive it via email. The results of the survey give an unparalleled insight into global salary trends for Dynamics professionals. It will allow you to benchmark your team’s, company’s and your own salary against your peers.
Follow this link to take the survey


Announcement: Technical Conference 2016 - See you there

Hi all

I am flying out to attend Technical Conference 2016 tomorrow morning. The conference is held in Seattle this year, and if you have not yet signed up, well, it's probably already too late :)
I hear there are at least 1300 participants coming this year, and we have a wide variety of sessions planned.
If you want to stop by and say hi, I'll be presenting a few things this year, and you can find the schedule online:

  • An instructor led lab on building workspaces, a new concept in the latest version of Dynamics AX. This comes in two parts, 1 hour long each, and as a result you will have built a fully functional workspace with Tiles, Lists and Charts.
  • An instructor led lab on integrating with the OData endpoint exposed by Dynamics AX with the help of the Data Entities. This is the future of many integration scenarios for AX, so don't miss your chance to learn how it's done.
  • A breakout session talking about a highly discussed topic of what kind of skillset is required for AX developers with the move to the latest AX version. 
  • A breakout session talking about Warehouse management functionality in AX, more specifically, installing, configuring and using the Warehouse Mobile Devices Portal with the cloud release of Dynamics AX.
  • A round table discussion on inbound and outbound ASN. We'd like to collect your feedback on the ASN solution in the release as of right now, and understand the use cases / tools you rely on for using ASN in your current implementations

See you all there!

Friday, February 05, 2016

Tips: Configuring Warehouse Mobile Devices Portal after installation on CTP7 and CTP8 builds of the latest Dynamics AX release


Over the last couple of months we have had a number of customers go live on the latest version of Microsoft Dynamics AX, and some of them have decided to use the Advanced Warehousing solution including the Warehouse Mobile Devices Portal (WMDP) that is shipped together with AX.

In my last post I provided links for how to install and use the portal:

Here I would like to focus on a few aspects we've learnt based on interaction with the Go-Live customers, that will hopefully help some of you to avoid the same problems.

Tip 1

In CTP7 and CTP8 (in case you don't know what CTP stands for, read wiki) WMDP was not strongly signed. That means that on your environment after installation, you could receive an error like below (In Event Log):

Exception information: 
    Exception type: ConfigurationErrorsException 
    Exception message: Could not load file or assembly 'Microsoft.Dynamics.AX.Whs.Web, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name signature could not be verified.  The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)

In the final (RTW) release of Microsoft Dynamics AX the assembly is strongly signed.

But if you are on CTP7 or CTP8, you can refer to one of the below solutions:

Solution 1

One thing you can do to resolve this is sign the assembly, using the strong name tool in a command like the following:

C:\Program Files (x86)\Warehouse Mobile Devices Portal\DEFAULT\bin> sn -Vr .\Microsoft.Dynamics.AX.Whs.Web.dll

This is the preferred approach.
For test environments, you could also just go with Solution 2

Solution 2

You can also just disable strong name verification on the machine you are testing out the portal on, by modifying the registry with commands below (for x86 and x64):

reg DELETE HKLM\Software\Microsoft\StrongName\Verification /f
reg ADD HKLM\Software\Microsoft\StrongName\Verification\*,* /f
reg DELETE HKLM\Software\Wow6432Node\Microsoft\StrongName\Verification /f
reg ADD HKLM\Software\Wow6432Node\Microsoft\StrongName\Verification\*,* /f 

Or, if you want to limit the scope of allowed non-signed assemblies, you can restrict it to just the WMDP dll in the above ADD commands like below:

reg ADD HKLM\SOFTWARE\Microsoft\StrongName\Verification\Microsoft.Dynamics.AX.Whs.Web,31bf3856ad364e35

reg ADD HKLM\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\Microsoft.Dynamics.AX.Whs.Web,31bf3856ad364e35 

If you want to learn a bit more (or get a ready PowerShell function for the above), refer to this blog post.

Tip 2

WMDP is an ASP.NET MVC based web site and has a number of important configuration options in its web.config file. You can read more about the configuration options on MSDN.
One particular setting is important to note, since it is believed that it has an "incorrect" value by default after installation in AX 2012 CU8 build.

The setting is customErrors, and you can read all about it on MSDN

In production environments, this setting should always be set to "On", as WMDP X++ code in some cases throws unhandled exceptions, which result in a complete meltdown of the web site, if not redirected correctly to a user-friendly error page. 
The "Off" setting can be used on test environments when debugging the site, as it will provide call stack information for what happened. 

Hope this helps!

And let me know if you have additional tips to add here about WMDP, I will gladly add them here