ProtocolCapabilities 元素 (XMLA)

使用 SOAP 请求消息中的 SOAP 标头标识 Analysis Services 实例与客户端应用程序之间的协议功能。

名称http://schemas.microsoft.com/analysisservices/2003/engine

语法

  
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
   <soap:Header>  
      ...  
      <ProtocolCapabilities xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
         <Capability>...</Capability>  
      </ProtocolCapabilities>  
      ...  
   </soap:Header>  
   <soap:Body>  
      ...  
   </soap:Body>  
</soap:Envelope>  

元素特征

特征 说明
数据类型和长度
默认值
基数 0-1:可出现一次且仅出现一次的可选元素。

元素关系

关系 元素
父元素
子元素 功能

备注

ProtocolCapabilities元素使客户端应用程序可以随时与服务器实例协商协议功能,如二进制 XML 或压缩支持。 协议协商包括以下步骤:

  1. 客户端应用程序通过发送在 SOAP 标头中包含 ProtocolCapabilities 元素的 SOAP 请求来标识其协议功能。

  2. 实例接收并处理 SOAP 请求。

  3. 如果实例具有所请求的协议功能,则该实例将发送一个 SOAP 响应,该响应包含在 SOAP 请求中发送的相同 ProtocolCapabilities 元素,并且已成功协商协议。 否则,协议功能协商不成功,该实例返回 SOAP 错误。

成功协商协议功能之后,客户端应用程序和实例使用特定协议的时间取决于会话是显式的还是隐式的:

  • 显式会话是使用 BeginSession 标头元素创建的会话。 对于显式会话,在客户端应用程序发送新的 ProtocolCapabilities 元素或会话结束之前一直使用协商的协议。

  • 隐式会话是在提交 SOAP 请求时通过实例创建的会话,并且不由客户端应用程序显式指定。 对于隐式会话,仅在 SOAP 请求完成之前使用协商的协议。

协议功能可以不显式协商。 即客户端应用程序不必在 SOAP 请求中包含 ProtocolCapabilities 元素。 如果 SOAP 请求不包含 ProtocolCapabilities 元素,则实例将使用与 SOAP 请求相同的格式进行响应。