The request failed with HTTP status 401: Access Denied.
Esto sucede porque las credenciales con que se autenticaron en la aplicación web no pasan automáticamente al invocar el servicio web en otro servidor o a veces en el mismo servidor. La clave esta en luego de instanciar el servicio Web apunanto a la clase proxy del proyecto:
EmpresaPROXY.EmpresaWSL servicio = new EmpresaPROXY.EmpresaWSL ();
debemos agregar la siguiente linea:
servicio.Credentials = System.Net.CredentialCache.DefaultCredentials;
Esta instrucción indica que las credenciales de autenticación pasaran a la invocación del servicio Web y con ello si el web.config esta definido como autenticación por windows y no tienen ningún filtro de roles o usuarios o bien que si estan definidos y el usuario pertenece alguno de ellos el servicio devolverá el resultado esperado.
Hasta la proxima amigos!,
Manolo Herrera
No hay comentarios.:
Publicar un comentario