"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