【问题标题】:EWS - ServerVersionInfo Version attribute in responsesEWS - 响应中的 ServerVersionInfo 版本属性
【发布时间】:2013-11-06 23:09:19
【问题描述】:

据此:

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

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

该页面上的示例有:

版本="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>

所以是 Version="V2_6",我在 EWS 参考中找不到。

1 - 这对于 Exchange Online 来说是预期的吗? Office 365 帐户呢?

2 - V2_6 适合以下顺序的哪个位置:Exchange2007、Exchange2007_SP1、Exchange2010、.... Exchange2013?

换句话说,当我在服务器响应中看到 Version="V2_6" 时,我可以在请求的 中使用什么架构版本?

【问题讨论】:

  • 文档指出“版本”是架构版本,而不是您在请求版本中发送的内容。
  • 请求版本取决于您要使用的操作,而不是目标服务器的版本;旧版本的交换不支持“较新”操作,它们将被拒绝(SOAP 错误)。 Exchange 版本号都记录在 MSDN 上,您必须执行一项操作来获取服务器版本信息,根据该信息确定您的功能集,然后从那里开始。

标签: exchange-server exchangewebservices


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    看起来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 年以后才可用。

    【讨论】:

    • 链接中的文档不是这样说的: > 在每个 EWS response 中,生成 response 的 Exchange 版本由ServerVersionInfo 元素。以下示例显示了代表 Exchange 2010 SP1 的 响应 的 ServerVersionInfo 元素。 RequestServerVersion Version=... 在请求中 ServerVersionInfo Version=... 在响应中
    猜你喜欢
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    相关资源
    最近更新 更多