Betroffene Systeme:
Microsoft Dynamics CRM Server 2011, 2013, 2015
Genaue Beschreibung:
Bei der Ausführung eines selbsterstellten FetchXML-Reports wird einem anstatt des Reports nur folgender Fehler angezeigt:
The report cannot be displayed. (rsProcessing Aborted)
Geht man nun auf den Reporting-Server und schaut in die Logs (Standardpfad: C:\Program Files\Microsoft SQL Server\<Datenbank>\Reporting Services\LogFiles), so wird man unter anderem folgende Meldungen finden:
System.ServiceModel.Security.SecurityNegotiationException: A call to SSPI failed, see inner exception.
System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception.
System.ComponentModel.Win32Exception: The target principal name is incorrect
Ursache:
Die FetchXML-Abfrage muss einen hierfür zuständigen HTTP SPN abfragen können, um korrekt mit dem Reporting-Server kommunizieren zu können. Läuft der CRM Application Pool unter einem Domain-Account, so wird diese Abfrage fehlschlagen, da der SPN nicht von Haus aus gesetzt wird.
Behebung:
Um diesen Fehler zu beheben, sind folgende Schritte notwendig:
- Im IIS gehen wir auf die CRM-Seite, klicken auf Authentication, highlighten „Windows Authentication“ und aktivieren dann unter Advanced Settings den Haken für „Enable Kernel-mode authentication“.
- Anschließend setzen wir folgende Befehle in der Kommandozeile ab:
PS> setspn -a „HTTP/<CRM-Srv – Hostname>“ „<Application Service User>“
PS> setspn -a „HTTP/<CRM-Srv – FQDN>“ „<Application Service User>“
Damit sollten die FetchXML-Reports wieder laufen.