/ / A solicitação falhou com o status HTTP 401: Não autorizado - serviços da web, http-status-code-401, .net-3.5

A solicitação falhou com o status HTTP 401: Não autorizado - serviços da web, http-status-code-401, .net-3.5

Eu tenho um site .NET 2.0 (VB) em execução no meu IIS6 (XP Pro SP2) e um .NET 3.5 (configurado como .NET2 na guia ASP.NET do IIS, é claro) hospedando um serviço da web ASMX.

No Chrome, posso chamar o ASMX e invocar os métodos da web com sucesso. No entanto, ao chamar os métodos da web em código, eu recebo do site .NET 2.0:

A solicitação falhou com o status HTTP 401: Não autorizado.

Como faço para contornar isso?

Respostas:

19 para resposta № 1

Você precisa definir as credenciais em seu aplicativo quando inicializar o webService objeto.

Algo como webService.UseDefaultCredentials = true

Isso definirá as credenciais da solicitação para o usuário atual que está executando o aplicativo.


3 para resposta № 2
webService.UseDefaultCredentials = true

Isso funcionou para mim.


2 para resposta № 3

No IIS 7, ative a autenticação anônima e você poderá depurar.


2 para resposta № 4

você pode usar isto:

webservice.UseDefaultCredentials = true;

se não funcionar, use o código abaixo ao invés do código acima

webservice.Credentials = new NetworkCredential("userName", "password", "domain");
webservice.PreAuthenticate = true;

observação: o nome de usuário Senha e domínio é a credencial do usuário que acessa o serviço web.

então certifique-se de que o usuário tenha permissão para acessar o serviço da web

talvez o usuário seja o usuário do windows

e você pode obter o domínio a partir de: clique direito em "MyComputer" e propriedades o domínio é o nome do computador ou grupo de trabalho


0 para a resposta № 5

Sou testado assim:

CheckListService.CheckList chkSrvice = new CheckListService.CheckList() {
UseDefaultCredentials = true };