(401 non autorisé d'erreur : sécurité WCF/liaison

J'ai un service web WCF, et un client à la fois sur la même machine. Accéder au service web WCF directement en utilisant le navigateur fonctionne, mais le client ne peut pas se connecter; message d'erreur ci-dessous. Des idées? Intégrée de l'Authentification Windows dans IIS est utilisé à la fois client et serveur.

The remote server returned an error: (401) Unauthorized. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
Exception Details: System.Net.WebException: The remote server returned an error: (401) Unauthorized.
Source Error: 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  
Stack Trace: 
[WebException: The remote server returned an error: (401) Unauthorized.]
System.Net.HttpWebRequest.GetResponse() +5313085
System.ServiceModel.Channels.HttpChannelRequest.WaitForReply(TimeSpan timeout) +54
[MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'Negotiate,NTLM'.]
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +7594687
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) +275
HRPaysService.IService1.GetAlert() +0
HRPaysService.Service1Client.GetAlert() +15
_Default.Page_Load(Object sender, EventArgs e) +138
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

Client:

  <system.serviceModel>
<bindings> 
<basicHttpBinding> 
<binding name="basicBinding"> 
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" 
proxyCredentialType="Windows" realm="" />
<message clientCredentialType="UserName" 
algorithmSuite="Default" />
</security> 
</binding> 
</basicHttpBinding> 
</bindings> 
<client>
<endpoint 
address="http://hrpaysservice/service1.svc" 
binding="basicHttpBinding"
bindingConfiguration="basicBinding" 
contract="HRPaysService.IService1">
</endpoint>
</client>
</system.serviceModel>

Serveur:

<system.serviceModel>
<bindings> 
<basicHttpBinding> 
<binding name="basicBinding"> 
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" 
proxyCredentialType="Windows" realm="" />
<message clientCredentialType="UserName" 
algorithmSuite="Default" />
</security> 
</binding> 
</basicHttpBinding> 
</bindings> 
<client>
<endpoint 
address="http://hrpaysservice/service1.svc" 
binding="basicHttpBinding"
bindingConfiguration="basicBinding" 
contract="HRPaysService.IService1">
</endpoint>
</client>
</system.serviceModel>
est-ce votre client une application Silverlight, par hasard?? Ces travaux de façon très différente à partir d'un ASP.NET ou Winforms/WPF application.
Non, pas une application Silverlight.

OriginalL'auteur xt_20 | 2010-02-05