EWS - ServerVersionInfo响应中的版本属性

时间:2013-11-06 23:09:20

标签: exchange-server exchangewebservices

根据这个:

http://msdn.microsoft.com/en-us/library/dd633705(v=exchg.80).aspx

  

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

该页面上的示例包含:

  

Version =“Exchange2010_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>

所以它的版本=“V2_6”,我在EWS参考资料中找不到。

1 - 这是Exchange Online的预期结果吗?那么Office 365帐户呢?

2 - V2_6在哪里符合以下序列:Exchange2007,Exchange2007_SP1,Exchange2010,.... Exchange2013?

换句话说,当我在服务器响应中看到Version =“V2_6”时,我可以在我的请求'&lt; RequestServerVersion&gt;中使用什么模式版本?

2 个答案:

答案 0 :(得分:0)

我有the same issue with a V2_22 version number being returned

引用my question at the Exchange Server development forum的答案:

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

在向Office 365 EWS API发出请求时,您可以使用Exchange2013 RequestServerVersion。如果你不想这样做:
FreeRangeEggs在他的回答(这里)中建议依赖MajorVersion,但Glen Scales(那里)的答案说使用AutoDiscovery来检测支持哪些模式。

答案 1 :(得分:-1)

看起来Version="Exchange2010_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"/>

我打算建议您使用MajorVersion,但这只是从2010年开始提供。