Symptômes
Après avoir configuré Microsoft Dynamics CRM 2013 Internet Facing Deployment (IFD), à l’aide d’un Proxy d'application Web Services ADFS sur Windows Server 2012 R2, les utilisateurs peuvent recevoir un message d’erreur HTTP 404 lorsqu’ils tentent d’accéder à l’URL IFD externe pour CRM.
Les utilisateurs peuvent également observer une boucle de redirection entre l’URL IFD CRM et l’URL ADFS utilisée lors de la configuration de l’IFD.
L’erreur suivante peut également être enregistrée dans le journal des applications observateur d'événements sur le serveur web Services ADFS :
Microsoft.IdentityServer.Web.InvalidRequestException : MSIS7042 : la même session de navigateur client a effectué des requêtes « X » au cours des dernières secondes « Y ». Pour plus d’informations, contactez votre administrateur.
sur Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.UpdateLoopDetectionCookie(WrappedHttpListenerContext context)
sur Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationProtocolHandler.SendSignInResponse(Contexte WSFederationContext, réponse MSISSignInResponse)
sur Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler)
sur Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)
Cause
Le serveur Proxy d'application web Services ADFS a traduit l’URL des en-têtes de réponse HTTP
Résolution
- Connectez-vous en tant qu’administrateur sur le serveur Windows Server 2012 R2 qui héberge le rôle WAP
- Obtenez les ID des applications WAP pour CRM. Dans une fenêtre Windows PowerShell, tapez la commande suivante :
Get-WebApplicationProxyApplication | ID de Format-Table, Nom, ExternalURL
- Notez les ID des points de terminaison CRM suivants qui ont été spécifiés lors de la configuration du déploiement CRM accessible sur Internet
Domaine du serveur d’applications web
Domaine du service web de découverte
URL de domaine externe
- Exécutez la commande suivante via PowerShell, en utilisant les ID obtenus dans les étapes précédentes, pour désactiver la traduction d’URL dans les en-têtes de réponse
Set-WebApplicationProxyApplication -ID <WebApplicationServerDomainID> -DisableTranslateUrlInResponseHeaders
Set-WebApplicationProxyApplication -ID <DiscoveryWebServiceDomainID> -DisableTranslateUrlInResponseHeaders
Set-WebApplicationProxyApplication -ID <ExternalDomainURLID> -DisableTranslateUrlInResponseHeaders
- Redémarrer les services ADFS sur le serveur ADFS et le serveur web Proxy d'application