ProtocolCapabilities 元素 (XMLA)
使用 SOAP 请求消息中的 SOAP 标头标识 Microsoft SQL Server Analysis Services 实例和客户端应用程序之间的协议功能。
命名空间 https://schemas.microsoft.com/analysisservices/2003/engine
语法
<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
...
<ProtocolCapabilities xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Capability>...</Capability>
</ProtocolCapabilities>
...
</soap:Header>
<soap:Body>
...
</soap:Body>
</soap:Envelope>
元素特征
特征 |
说明 |
---|---|
数据类型和长度 |
无 |
默认值 |
无 |
基数 |
0-1:可出现一次且仅出现一次的可选元素。 |
注释
ProtocolCapabilities 元素可使客户端应用程序随时与 Analysis Services 实例协商协议功能,如二进制 XML 或压缩支持。 协议协商包括以下步骤:
客户端应用程序通过发送在 SOAP 标头中包含 ProtocolCapabilities 元素的 SOAP 请求来标识其协议功能。
Analysis Services 实例接收和处理 SOAP 请求。
如果 Analysis Services 实例具有所请求的协议功能,则该实例将发送一个 SOAP 响应,该响应包含的 ProtocolCapabilities 元素与 SOAP 请求中发送的相同,此时协议协商成功。 否则,协议功能协商不成功,该实例返回 SOAP 错误。
在成功协商协议功能之后,客户端应用程序和 Analysis Services 实例使用某特定协议的时间取决于该会话是显式的还是隐式的:
显式会话是一个使用 BeginSession 标头元素创建的会话。 对于显式会话,在客户端应用程序发送新的 ProtocolCapabilities 元素或会话结束之前一直使用协商的协议。
隐式会话是在提交 SOAP 请求时通过 Analysis Services 实例创建的会话,并且不由客户端应用程序显式指定。 对于隐式会话,仅在 SOAP 请求完成之前使用协商的协议。
协议功能可以不显式协商。 即客户端应用程序不必在 SOAP 请求中包含 ProtocolCapabilities 元素。 如果 SOAP 请求不包括 ProtocolCapabilities 元素,则 Analysis Services 实例使用与 SOAP 请求相同的格式作出响应。