Microsoft Dynamics 365 TechBlog

Tag Archives: microsoft

2.5 years to be precise since I wrote my last post here, and quite a few things have changed. First of all I started to work for Microsoft – a big accomplishment and a personal goal that I was very happy and proud to achieve. I’m a Dynamics 365 Premier field engineer and am enjoying my work very much – So an update to my “About” section is also coming. And Of course many changes to the product, the movement to Dynamics 365 online with it’s Azure & Office 365 ecosystem, New versions and features for on-premise versions, The relatively new V9 and Unified interface, App for Outlook for both online and on-premises deployments and much much more – In other words, lot’s of stuff to write about 🙂

So as the headline above implies, I’m going to start writing again and already have some great ideas in mind that will hopefully help you out with your Dynamics 365 ventures, whether it’s online or on-premise

Recently I tried to configure Dynamics NAV 2015 OData web services. After the initial configuration i was unable to authenticate with the OData URL – The Credentials prompt just kept popping up time after time. The message i received was:

The server is asking for your username and password
The server reports that it is from digest

It seems that the reason for this issue (Although not documented in NAV requirements) is because I was working on a WORKGROUP server that was not a part of an Active Directory domain, and although Dynamics NAV is supported in a WORKGROUP environment – It seems that OData web services need an Active Directory environment – as they rely on Digest authentication.

In my case – adding the server to a domain or promoting it to a DC – solved the issue!

As i said – i did not find any detailed specifications for this in the Dynamics NAV requirements or technet – I relied on other sources regarding Digest authentication and it solved my issue – If you are having the exact same problem – this might be the solution.

You install a fresh deployment of Dynamics CRM 2013 on one server using a domain account as the CRMApppool in IIS and Microsoft SQL with SSRS on a second server – Installation goes smoothly and everything works just fine including out-of-the-box reports – except that when you try to create and run Fetch XML reports you get the following error:

“the report cannot be displayed. (rsprocessingaborted)”

Here is what you need to do (The changes that we’ll make might cause CRM to be unavailable for short periods of time):

1. Check the identity of the CRMAppPool. To do this simply click Start -> Run -> type inetmgr -> Press Enter. Expand the server name and under application pools check the CRMAppPool identity.

2. You need to register an SPN for this identity – Let’s assume that the identity is domain\crmservice and the CRM server name is just crmserver.

Open CMD with “run as administrator” and type the following commands one by one:

setspn -A HTTP/crmserver domain\crmservice

setspn -A HTTP/crmserver.domain.com domain\crmservice

Important notes:

In the second line you need to use your domain’s FQDN – domain.com is just an example.

I’m assuming that you installed CRM on port 80, if not or if you are using host headers you will need to create the proper SPN’s along with the port number – for example: setspn -A HTTP/crmserver:5555 domain\crmservice

You should get a confirmation that the SPN’s were registered successfully.

YourOrganization_MSCRM > CustomReports > MSCRM_FetchDataSource – Inside make sure that the data type is set to ‘Microsoft Dynamics CRM Fetch’, the connection string has your Organization Name and connect using is set to ‘Credentials supplied by the user running the report’

Save & Close.

4. Do an IIS reset (should work without but just in case…) Open CRM and check your FetchXML reports – they should be working now – It’s very important to check everything locally on the CRM server & remotely from clients or other server.

VERY IMPORTANT:

As we did changes in SPN’s that may mess up Kerberos authentication – you should check that CRM is available locally and from remote clients – If you are able to browse CRM locally (or using I.P) but you are getting 401 authentication error (after being asked for credentials 3-4 times) when trying to access from a different server or client using the CRM URL – do the following to resolve this:

On the CRM server open IIS and go to the Microsoft Dynamics CRM website -> Open the Configuration Editor

Do an IIS reset on the CRM server. This procedure should resolve the 401 authentication issue and your CRM should be accessible from all clients along with the working FetchXML reports.

If from some reason your CRM started behaving “weird” or this process caused other issues you can revert all the changes we did by simply deleting the SPN’s and changing back UseAppPoolCredentials to False.

To delete the SPN’s use -D instead of -A:

setspn -D HTTP/crmserver domain\crmservice

setspn -D HTTP/crmserver.domain.com domain\crmservice

Remember that it’s best to do all those changes after working hours, as some of them might cause CRM to be unavailable. Also if you have a testing environment – it’s always better to test those things there before we do them on the production servers.

If you want to enable X++ debugging in AX 2012 you need to add the relevant users to the Microsoft Dynamics AX Debugging Users group under “local users and groups”, without so you will receive an error message stating:

the x++ debugger works only for users who are in the ‘microsoft dynamics ax debugging users’ local group of windows. Get added to the group then login again to windows.

This is no issue at all when installing AX 2012 on a regular server in a domain environment.

But if you install AX 2012/R2 (although not recommended) on a server that is a Domain Controller – you will not find a local group as it cannot exist on a DC – In this case the group will be created in the ‘Users’ OU in your Active Directory and the relevant users must be added to this group via Active Directory Users & Computers GUI.

I have encountered this issue today and did not find any documentation on this specific scenario so I hope this might help someone 🙂