次の方法で共有


ProtocolCapabilities 要素 (XMLA)

Microsoft SQL Server Analysis Services インスタンスとクライアント アプリケーションの間のプロトコル機能を識別するために、SOAP 要求メッセージ内で SOAP ヘッダーを使用します。

名前空間 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 : 省略可能な要素で、出現する場合は 1 回だけの出現が可能です

要素の関係

関係

要素

親要素

なし

子要素

Capability

説明

ProtocolCapabilities 要素は、クライアント アプリケーションが Analysis Services インスタンスとの間でプロトコル機能 (たとえばバイナリ XML や圧縮サポート) を任意の時点でネゴシエートすることを可能にします。プロトコルのネゴシエーションは以下の手順で行われます。

  1. クライアント アプリケーションは、SOAP ヘッダー内に ProtocolCapabilities 要素を含む SOAP 要求を送信することにより、自らのプロトコル機能を示します。

  2. Analysis Services は SOAP 要求を受信して処理します。

  3. 要求されたプロトコル機能と同じものを Analysis Services インスタンスが保有している場合、インスタンスは SOAP 要求で送られたのと同じ ProtocolCapabilities 要素を含む SOAP 応答を送信し、その時点でプロトコルのネゴシエーションが正常に完了します。そうでない場合、プロトコル機能は正常にネゴシエートされず、インスタンスは SOAP エラーを返します。

プロトコル機能が正常にネゴシエートされた後、クライアント アプリケーションと Analysis Services インスタンスが特定のプロトコルを使用する期間は、セッションが明示的か暗黙かに応じて次のように異なります。

  • 明示的セッションとは、BeginSession ヘッダー要素を使用して作成されるセッションです。明示的セッションの場合、ネゴシエートされたプロトコルは、クライアント アプリケーションが新しい ProtocolCapabilities 要素を送るまで、またはセッションが終了するまで使用されます。

  • 暗黙のセッションとは Analysis Services インスタンスによって作成されるセッションで、SOAP 要求の送信時にクライアント アプリケーションによって明示的に指定されるものではありません。暗黙のセッションの場合、ネゴシエートされたプロトコルは、SOAP 要求が完了するまでの期間だけ使用されます。

プロトコル機能を明示的にネゴシエートする必要はありません。つまり、クライアント アプリケーションで ProtocolCapabilities 要素を SOAP 要求に含める必要はありません。SOAP 要求に ProtocolCapabilities 要素が含まれない場合、Analysis Services インスタンスは SOAP 要求と同じ形式を使用して応答します。

関連項目

概念

その他の技術情報