Reputation: 7696
When I am calling a web service on Windows 10 v1607 it works fine for me, but when I try the same web service on Windows 10 v1703, it gives me this error:
The request failed with HTTP status 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 request failed with HTTP status 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 request failed with HTTP status 401: Unauthorized.]
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +237136
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +267
CPR.Apps.CPMS.ServiceWrapper.CPMSProxy.CPMSService.GetUserGroupTasks(User& user) +138
CPR.Apps.CPMS.ServiceWrapper.WebAppServiceWrapper.GetUserGroupTasks(User& cpmsUser) +111
CCPS.App.Web.UI.Global.Session_Start(Object sender, EventArgs e) +145
System.Web.SessionState.SessionStateModule.CompleteAcquireState() +380
System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData) +1250
System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +631
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +134
Please note that it works if I set the web service authentication to be anonymous, but this is not acceptable from a security standpoint. Presently, the security settings are asp.net impersonation and windows authentication.
Also, I have webService.UseDefaultCredentials = true
.
Does anyone have any suggestions?
Upvotes: 1
Views: 4111
Reputation: 7696
OK, found the problem--the Visual Studio solution had for the web app properties Web
-> Servers
-> IIS Express
with a value like http://localhost:51243
which works fine for debugging, but when I publish it keeps those settings so it will not work on the production server.
To resolve the issue, I switched it to External Host
with the production URL.
I still find it interesting that Windows 10 v1607 doesn't care about this while v1703 gives the 401 error.
Upvotes: 1