背景:在測試環境中一切正常,使用的是Exchange2013,上生產環境Exchange2016,部署后產生如下錯誤:
Microsoft.Exchange.WebServices.Data.ServiceRequestException: The request failed. 遠程服務器
返回錯誤: (401) 未經授權。 ---\u003e System.Net.WebException: 遠程服務器返回錯誤: (401) 未經授權。\r\n 在
System.Net.HttpWebRequest.GetResponse()\r\n 在
Microsoft.Exchange.WebServices.Data.EwsHttpWebRequest.Microsoft.Exchange.WebServices.Data.IEwsHttpWebRequest.GetResponse
()\r\n 在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)\r\n
--- 內部異常堆棧跟蹤的結尾 ---\r\n 在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse
(IEwsHttpWebRequest request)\r\n 在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest
(IEwsHttpWebRequest\u0026 request)\r\n 在 Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()\r\n
在 Microsoft.Exchange.WebServices.Data.ExchangeService.FindAppointments(FolderId parentFolderId, CalendarView
calendarView)\r\n 在 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
