2009-09-01 9 views
1

J'utilise IIS V5.1. Authentification Windows intégréeLes paramètres de sécurité de ce service requièrent une authentification "anonyme" mais ne sont pas activés pour l'application IIS qui héberge ce service.

J'ai une configuration Web suivant:

<system.serviceModel> 
    <bindings> 
     <wsHttpBinding> 
     <binding name="wsHttpEndpointBinding"> 
      <security mode="Transport" /> 
     </binding> 
     </wsHttpBinding> 
    </bindings> 
    <services> 
     <service behaviorConfiguration="DXDirectory.Service1Behavior" 
     name="DXDirectory.DXDirectoryService"> 
     <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpEndpointBinding" 
      name="wsHttpEndpoint" contract="DXDirectory.IDXDirectoryService" /> 
     <endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="" 
      name="MexHttpsBindingEndpoint" contract="IMetadataExchange" /> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="DXDirectory.Service1Behavior"> 
      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="false" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 

Quand je choisis de voir fichier svc dans le navigateur, il affichera l'erreur suivante:

Exception:
Paramètres de sécurité pour ce service requiert l'authentification "anonyme" mais n'est pas activée pour l'application IIS qui héberge ce service.

Cette erreur est supprimée lorsque je supprime le point de terminaison Mex.

Mais lorsque je tente d'ajouter la référence de service dans l'application client, il donne l'erreur suivante:

le document à l'adresse http://localhost/DXDirectory/DXDirectoryService.svc n'a pas été reconnu comme un type de document connu.

Le message d'erreur de chaque type connu peut vous aider à résoudre le problème:

  • Rapport de 'http://localhost/DXDirectory/DXDirectoryService.svc' est 'Le format de document n'est pas reconnu (le type de contenu est' text/html; charset = UTF -8 ').'
  • Le rapport de 'Document DISCO' est 'Une erreur s'est produite lors du téléchargement' https://hes-ashu.abc.com/DXDirectory/DXDirectoryService.svc?disco '.'. La connexion sous-jacente a été fermée: Une erreur inattendue s'est produite lors d'un envoi.
  • L'authentification a échoué car la partie distante a fermé le flux de transport. Le rapport de 'Document WSDL' est 'Le format du document n'est pas reconnu (le type de contenu est' text/html; charset = UTF-8 ').'.
  • Le rapport de 'XML Schema' est 'Le format du document n'est pas reconnu (le type de contenu est' text/html; charset = UTF-8 ').'. Les métadonnées contiennent une référence qui ne peut pas être résolue: 'http://localhost/DXDirectory/DXDirectoryService.svc'.

La requête HTTP n'est pas autorisée avec le schéma d'authentification client 'Anonyme'. L'en-tête d'authentification reçu du serveur était 'Négocier, NTLM'.

Le serveur distant a renvoyé une erreur: (401) Non autorisé.

Si le service est défini dans la solution actuelle, essayez de créer la solution et d'ajouter à nouveau la référence de service.

Répondre

1

Lorsque vous spécifiez le mode de sécurité de transport WCF s'attend à https. Essayez de corriger cela et voyez quelle erreur vous obtenez.

Vérifiez également votre balise system.web. La réponse que vous obtenez "text/html", est probablement une page d'erreur, donc si vous avez la possibilité de le perdre, vous obtiendrez un meilleur message d'erreur.

+0

Merci pour la réponse Shiraj .. Pouvez-vous s'il vous plaît me donner quelques indications sur la façon de réparer le https. Comment activer SSL? –

+0

Pour tester, définissez le mode de sécurité sur "Aucun" –