EWS 401 Unauthorized – 但仅限在目标服务器上的服务下运行时
我在C#中编写了一个Windows服务,使用EWS自动轮询交换邮箱。
在我的开发机器上,它通过VPN连接到交换服务器网络,它完美地工作。
在目标服务器上,EWS正在返回Request failed. The remote server returned an error: (401) Unauthorized.(The remote server returned an error: (401) Unauthorized.)
Request failed. The remote server returned an error: (401) Unauthorized.(The remote server returned an error: (401) Unauthorized.)
在同一台服务器上,我可以使用与提供给服务相同的凭据通过浏览器连接到EWS URL。
凭证在app.config文件中提供,我已经三次检查它们在目标服务器上是否与我的开发机器相同。
可能是什么导致了这个?
事实certificate问题是这个
_ews.Credentials = new NetworkCredential(Settings.Username, Settings.Password); // Username in the form "domainname\username"
应该是这个
_ews.Credentials = new NetworkCredential(Settings.Username, Settings.Password, Settings.Domain); // Domainname and username separate
出于某种原因,第一条线路通过VPN在外部工作,但在域网络本身内部则不工作。