2

Je viens de passer 2 jours à déboguer l'erreur suivante, donc j'ai pensé partager mes conclusions. Le scénario est le suivant: J'ai un service WCF hébergé sur IIS7. Le service utilise basicHttpBinding avec le mode de sécurité défini sur TransportCredentialOnly. L'authentification anonyme et l'authentification Windows sont activées sur le site Web. Le Pool Appliaction pour le site Web fonctionne sous un compte de domaine, qui a tous les droits possibles sur le dossier physique du site. La navigation du service .svc pour Internet Explorer a fonctionné, mais lorsque nous avons essayé d'invoquer une méthode du service d'un client, nous avons eu une erreur: "La requête HTTP n'est pas autorisée avec le schéma d'authentification client Négocier". En outre, le journal IIS a montré une erreur 401.5 pour chaque invocation de la méthode, ce qui est normal pour ce paramètre de sécurité, mais il devrait être suivi d'un 200, ce qui n'était pas le cas ici.Service WCF avec le mode de sécurité TransportCredentialOnly provoquant le statut HTTP Erreur code 401 sur IIS7

Enfin, nous avons réussi à résoudre le problème en vérifiant les paramètres d'authentification sur le Site Web par défaut. L'authentification Windows a été désactivée là. Nous l'avons activé et le service a commencé à fonctionner. On pourrait penser que les paramètres des sites Web remplacent cela, mais ils ne le font pas. Alors, gardez-vous du filage, procmoning toute la journée et vérifiez ce paramètre.

À la votre!

Répondre

0

C'est le genre de problème où vous avez besoin pour obtenir les paramètres pour correspondre à toutes les couches:

  • Le App.config sur le client
  • Les paramètres IIS
  • L'App piscine Indentity
  • les droits NTFS sur le fichier svc
  • web.config sur le serveur

Tous ces éléments doivent correspondre pour que cela fonctionne.

Questions connexes