EWS Subscription Error: One or more subscriptions in the request reside on another Client Access server. GetStreamingEvents won't proxy in the event of a batch request.
So, you got this error: One or more subscriptions in the request reside on another Client Access server. GetStreamingEvents won't proxy in the event of a batch request. Don't panic, its fixable with some needed code changes.
Part of the process of subscribing for EWS Streaming Notifications against Exchange 2013 and later involves gathering the GroupingInformation and EWS URL for each mailbox then subscribing in batches of up to 200 mailboxes per subscription where the URL and GroupingInformation match. Do AutoDiscvoer against each mailbox in order to get the GroupingInformation setting. This is the AD site of the mailbox. Batch subscriptions will cause the servers involved for the batch at the site rally their calls through the server of the anchor mailbox at the same site – this increases performance but does require that all the servers be at the same site. All mailboxes in a batch need to be the same site.
GroupingInformation can and does change. Through the course of a day that Exchange Online may failover a mailbox to a different site and this would cause an error an you will need to unsubscribe, rebatch and then resubscribe for the new batches. The same issue can happen with on-premise severs due to fail overs. A mailbox move to another site can also cause this error, however a mailbox move is not as common as a fail over for Exchange Online. GroupingInformation is in the Discover Service for Exchange 2013 and later and not in prior versions. To know which sites the mailboxes are in for prior versions you will need to wither use Exchange PowerShell or keep a table of their locations.
Old versions of the EWS Managed API did not support pulling GroupingInformation from the Discovery Service. The data for this setting is needed in order to resolve this issue. So, download and build the EWS Managed API from GitHub – it will have current fixes. At this time the downloadable version from GitHub and NuGet are old builds.
EWS Managed API... open source? YES! It's now Open Source!!!
https://blogs.msdn.com/b/webdav_101/archive/2014/09/29/ews-managed-api-open-source-yes-it-s-now-open-source.aspx
The following articles cover this topic:
Maintain affinity between a group of subscriptions and the Mailbox server in Exchange
/en-us/exchange/client-developer/exchange-web-services/how-to-maintain-affinity-between-group-of-subscriptions-and-mailbox-server
EWS Streaming Notifications with Exchange 2013
https://blogs.msdn.microsoft.com/webdav_101/2015/11/17/ews-streaming-notifications-with-exchange-2013/
Changes in Managing Affinity for EWS Subscriptions…
https://blogs.msdn.microsoft.com/mstehle/2013/04/17/changes-in-managing-affinity-for-ews-subscriptions/
Handling notification-related errors in EWS in Exchange
/en-us/exchange/client-developer/exchange-web-services/handling-notification-related-errors-in-ews-in-exchange