rbfigueira
Tudo sobre a plataforma .net em Português ;)

"The request failed with HTTP status 401: Unauthorized"

Esta é uma mensagem de erro frequente para muitos :/ e acontece quando utilizamos WebServices com Integrated Windows Authentication (IIS).

Por defeito a property (WebClientProtocol.PreAuthenticate) é false o que faz com que o request ao WebService seja feito sem inicialmente autenticarmos o utilizador. Como é necessário enviar a autenticação no primeiro request colocamos o WebClientProtocol.PreAuthenticate = True e colocamos as credenciais do utilizador.

Solução:

Dim WebClient As MyWebServiceClass = New MyWebServiceClass
WebClient.PreAuthenticate = True
WebClient.Credentials = CredentialCache.DefaultCredentials()

Ou

Dim credenciais As New NetworkCredential("user", "password", "dominio")
Dim WebClient As MyWebServiceClass = New MyWebServiceClass
WebClient.PreAuthenticate = True
WebClient.Credentials = credenciais

posted on Tuesday, March 23, 2004 10:30 AM
Comments
  • # re: The request failed with HTTP status 401: Unauthorized
    Nuno Guedes
    Posted @ 3/25/2004 5:24 PM
    Corrigam-me se eu estiver errado, mas em integrated, isto é, NTLM (mais usual) ou Kerberos, o esquema de autenticação é do tipo challenge/response com troca de tokens e logo, o primeiro request de uma sessão acabará por ser sempre, na prática, não autenticado. O PreAuthenticate não irá mudar o comportamento nestes casos. Agora, para basic authentication já é outra história...
  • # re: The request failed with HTTP status 401: Unauthorized
    samuel
    Posted @ 10/11/2005 9:29 PM
    gostei dessa dica!
  • # re: The request failed with HTTP status 401: Unauthorized
    samuel
    Posted @ 10/11/2005 9:32 PM
    O QUE FAÇO PARA CONFIGURAR MEU DISPOSITIVO?
Title  
Name  
Url
Box Code
Protected by FormShield
Comments