EWS Schema Versions - Why can't I pick versions for 2007 SP2/SP3 or 2010 SP3?

I see confusion on how the EWS Schema Version (RequestServerVersion) is used from time to time. So, I would like to clear up how its used.

The EWS Schema Version is not the patch level of the Exchange server. Its something different - its the schema version of EWS that tells the server what the minimal version of EWS your code is written for. EWS is a web service and it has a schema and schemas have versions. Schema versions generally change with each service RTM or service pack - however, they don't always.

For Exchange 2007 there were no further EWS schema changes after SP1 - so there is no SP2 or SP2 schema for it. For Exchange 2010 there is no SP3 schema for it - so you have to pick Exchagne2010_SP2 as the highest schema version.

The way it works is that you pick the lowest EWS schema version your application is coded to and the lowest schema version relative to the Exchange servers the code goes against. For Exchange 2007 Exchange2007 or Exchange2007_SP1 could be used, however only SP3 is supported for 2007 now, so any supported server should be past SP1 anyway.

So, if you code needs to go against Exchange 2010 SP2 or later then Exchage2010_SP2 will work. Exchage2013 will not work against any 2010 or 2007 server. When there are mixed versions of servers involved like a 2010 CAS and 2007 mailbox server then the code needs to specify the Exchange2007_SP1 Schema version otherwise they will get an error. Exchange2007_SP1 is the highest EWS schema version for Exchange 2007 though there is an SP3 for it.

Please review this:

EWS schema versions in Exchange
https://msdn.microsoft.com/en-us/library/office/dn741586(v=exchg.150).aspx