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 回だけの出現が可能です |
説明
ProtocolCapabilities 要素は、クライアント アプリケーションが Analysis Services インスタンスとの間でプロトコル機能 (たとえばバイナリ XML や圧縮サポート) を任意の時点でネゴシエートすることを可能にします。プロトコルのネゴシエーションは以下の手順で行われます。
クライアント アプリケーションは、SOAP ヘッダー内に ProtocolCapabilities 要素を含む SOAP 要求を送信することにより、自らのプロトコル機能を示します。
Analysis Services は SOAP 要求を受信して処理します。
要求されたプロトコル機能と同じものを Analysis Services インスタンスが保有している場合、インスタンスは SOAP 要求で送られたのと同じ ProtocolCapabilities 要素を含む SOAP 応答を送信し、その時点でプロトコルのネゴシエーションが正常に完了します。そうでない場合、プロトコル機能は正常にネゴシエートされず、インスタンスは SOAP エラーを返します。
プロトコル機能が正常にネゴシエートされた後、クライアント アプリケーションと Analysis Services インスタンスが特定のプロトコルを使用する期間は、セッションが明示的か暗黙かに応じて次のように異なります。
明示的セッションとは、BeginSession ヘッダー要素を使用して作成されるセッションです。明示的セッションの場合、ネゴシエートされたプロトコルは、クライアント アプリケーションが新しい ProtocolCapabilities 要素を送るまで、またはセッションが終了するまで使用されます。
暗黙のセッションとは Analysis Services インスタンスによって作成されるセッションで、SOAP 要求の送信時にクライアント アプリケーションによって明示的に指定されるものではありません。暗黙のセッションの場合、ネゴシエートされたプロトコルは、SOAP 要求が完了するまでの期間だけ使用されます。
プロトコル機能を明示的にネゴシエートする必要はありません。つまり、クライアント アプリケーションで ProtocolCapabilities 要素を SOAP 要求に含める必要はありません。SOAP 要求に ProtocolCapabilities 要素が含まれない場合、Analysis Services インスタンスは SOAP 要求と同じ形式を使用して応答します。