With Exchange Server 2016 being available for some time (as of 15. March it's at 2016 CU1), I want to properly detect the Version that gets returned in the SOAP header of each Exchange Web Services response message:
<ServerVersionInfo MajorVersion="" MinorVersion="" MajorBuildNumber="" MinorBuildNumber="" Version="" />
The latest schema version mentioned in e.g. the 'EWS schema versions in Exchange' page is Exchange2013_SP1
.
What is the name returned for Exchange 2016?
I do not yet have an Exchange Server 2016 to test against.
Exchange Online (assuming it's always the latest stable MS code, so should be equivalent to 2016) does not return these 'regular' version names, it currently returns V2016_01_06
.
I suspect the answer for a 'regular' Exchange 2016 Server to be Exchange2016
, can anyone confirm?
We now have a test version of Exchange 2016 installed and this has the following behaviour:
Version="V2016_04_13"
, so obviously my suspicion was wrong.Exchange 2016 returns a more 'detailed' version number with a 'release date',
as does Exchange 365.
Exchange2016
or something likeV2016_04_13
(if you want to follow 2016 syntax and use 2016 features).
You will have to know what V2016... versions are available, using the incorrect date will result in
The specified server version is invalid.
Quoting from a comment by David Sterling under this answer on 7 Oct 2016:
As of Jan 2016, we started used build dates for versions. We rev the public schema quarterly, so you will notice a rough 3 month addition for the next schema version, etc...
Basically the "newest" version is the beta version and can contain breaking changes until the next version is introduced. So right now, V2016_07_13 is considered beta, and we are still adding to it. Once next week rolls around and we introduce V2016_10_XX, V2016_07_13 will be locked and no additional functionality will be added to it.