Our application uses EWS pull notifications to get emails from Exchange Online mailboxes. The application is authorized via admin account. Admin account is granted full access permissions to several user mailboxes. The application is able to collect all email items from user mailboxes. Here is a code sample:
var service = new ExchangeService() { Credentials = new WebCredentials(AdminLogin, AdminPassword), }; service.AutodiscoverUrl(AdminLogin, ValidateRedirectionUrlCallback); var subscription = service.SubscribeToPullNotifications(new []{ new FolderId(WellKnownFolderName.Inbox, UserMailbox)}, 10, string.Empty, EventType.NewMail, EventType.Created, EventType.Modified, EventType.Moved); foreach (var ev in subscription.GetEvents().AllEvents) { Logger.Info("Event received {0}", ev.EventType); } subscription.Unsubscribe();
Recently the application stopped working. When calling GetEvents method application receives ServiceResponseException: "Exchange Web Services are not currently available for this request because none of the Client Access Servers in the destination site could process the request."
Our investigation shows that the application is not allowed to subscribe to user mailboxes when authorized as administrator. It looks like this feature was broken on Exchange Online instances with Exchange Server V2_34, because everything works on instances with previous version of Exchange Server Online V2_33.
Have you seen this kind of problems?