Symptoms
Assume that you try to make a GET request to get the AutodiscoverV1 endpoint for a mailbox (for example, user1@contoso.com) that’s hosted on Microsoft Exchange Server 2019 or Exchange Server 2016. The JSON emitted is {"Protocol":"AutoDiscoverV1","Url":"https://mail.contoso.com/api"} instead of {"Protocol":"AutoDiscoverV1","Url":"https://autodiscover.contoso.com/autodiscover/autodiscover.xml"}.
Cause
AutodiscoverV1 isn't in the enumeration of SupportedProtocol. The result is that in the ResourceUrlBuilder.GetResourceUrlSuffixForProtocol method, the wrong enumeration value is computed. When the code uses Enum.TryParse, it doesn't check the return value to see whether the parse is successful. The parse isn’t successful, and the enumeration value ends up being REST. That causes the REST endpoint to be returned.
Resolution
To fix this issue, install one of the following updates:
-
The Cumulative Update 3 for Exchange Server 2019 or a later cumulative update for Exchange Server 2019.
-
The Cumulative Update 14 for Exchange Server 2016 or a later cumulative update for Exchange Server 2016.
References
Learn about the terminology that Microsoft uses to describe software updates.