Exchange server EWS-响应中的ServerVersionInfo版本属性

Exchange server EWS-响应中的ServerVersionInfo版本属性,exchange-server,exchangewebservices,Exchange Server,Exchangewebservices,据此: 在每个EWS响应中,生成响应的Exchange版本由ServerVersionInfo元素指示。以下示例显示了一个ServerVersionInfo元素,该元素表示来自Exchange 2010 SP1的响应 该页面上的示例包括: Version=“Exchange2010\u SP1” 我目前使用的是Exchange Online帐户,我在EWS服务器响应中看到的价值是: <?xml version="1.0" encoding="utf-8"?> <s:Envel

据此:

在每个EWS响应中,生成响应的Exchange版本由ServerVersionInfo元素指示。以下示例显示了一个ServerVersionInfo元素,该元素表示来自Exchange 2010 SP1的响应

该页面上的示例包括:

Version=“Exchange2010\u SP1”

我目前使用的是Exchange Online帐户,我在EWS服务器响应中看到的价值是:

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <h:ServerVersionInfo [xmlns' snipped]
MajorVersion="15" MinorVersion="0" MajorBuildNumber="800" MinorBuildNumber="16"
Version="V2_6"/>
  </s:Header>


看起来
Version=“Exchange2010\u SP1”
仅用于发送请求,而不是响应的一部分

<soap:Header>
    <t:RequestServerVersion Version="Exchange2013" />
</soap:Header>

请求版本与响应版本不匹配,并包装在不同的标记中

<h:ServerVersionInfo MajorVersion="15"
                     MinorVersion="0"
                     MajorBuildNumber="785"
                     MinorBuildNumber="6"
                     Version="V2_6"
                     xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
                     xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
                     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>

我本打算建议您使用
主版本,但该版本仅从2010年起提供。

引述对以下问题的答复:

“Exchange for Office 365[ed:Exchange Online]有自己的生命周期(自定义版本),因此除主要版本外,它不遵循Exchange 2013版本。”

对Office 365 EWS API执行请求时,可以使用
Exchange2013
RequestServerVersion。如果您不想这样做:

FreeRangeEggs在他的回答(此处)中建议依赖MajorVersion,但Glen Scales(此处)的回答说使用自动发现来检测支持哪些模式。

该链接的文档中没有这样说:>在每个EWS响应中,生成响应的Exchange版本由ServerVersionInfo元素指示。以下示例显示了一个ServerVersionInfo元素,该元素表示来自Exchange 2010 SP1的响应。RequestServerVersion=。。。在请求ServerVersionInfo版本=。。。在响应文档中,说明“版本”是架构版本,而不是请求版本中发送的内容。请求版本取决于您要使用的操作,而不是目标服务器的版本;旧版本的exchange不支持“更新的”操作,它们将被拒绝(SOAP错误)。Exchange版本号都记录在MSDN上,您必须执行一个操作以获取服务器版本信息,并根据该信息确定功能集,然后再从那里开始。