背景:在测试环境中一切正常,使用的是Exchange2013,上生产环境Exchange2016,部署后产生如下错误:
Microsoft.Exchange.WebServices.Data.ServiceRequestException: The request failed. 远程服务器
返回错误: (401) 未经授权。 ---u003e System.Net.WebException: 远程服务器返回错误: (401) 未经授权。
在
System.Net.HttpWebRequest.GetResponse()
在
Microsoft.Exchange.WebServices.Data.EwsHttpWebRequest.Microsoft.Exchange.WebServices.Data.IEwsHttpWebRequest.GetResponse
()
在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)
--- 内部异常堆栈跟踪的结尾 ---
在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse
(IEwsHttpWebRequest request)
在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest
(IEwsHttpWebRequestu0026 request)
在 Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
在 Microsoft.Exchange.WebServices.Data.ExchangeService.FindAppointments(FolderId parentFolderId, CalendarView
calendarView)
在 CalendarUC.Code.ExChangeDAL.DeleteRecurringItemS(String UserName, String Password, DateTime
StartDate, DateTime EndDate)"}
产生以上错误,一般原因是查看日程的账号有问题,问题解决方法:
ExchangeCalendarAdminAccount与ExchangeAdminAccount合并了,为同一个账号。
<!--创建Exchange 账号的管理员账号,密码是管理的默认密码--> <add key="ExchangeAdminAccount" value="mapp@tedaedu.cn"/> <!--创建Exchange 日历的管理员账号,密码是管理的默认密码CalendarAdmin--> <add key="ExchangeCalendarAdminAccount" value="mapp@tedaedu.cn"/>
但如上配置还是报错,错误提示:”该帐户无权模拟所请求的用户“,到这里离成功不远啦。
解决办法:
1.Open the Exchange Management Shell
2.输入: New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:mapp
mapp就是你要设置的模拟账号,当然你也可以设置其他.
Configuring Exchange Impersonation:http://msdn.microsoft.com/en-us/library/bb204095.aspx