Élément ProtocolCapabilities (XMLA)

Utilise l'en-tête SOAP dans un message de demande SOAP pour identifier des fonctionnalités de protocole entre une instance de Microsoft SQL Server Analysis Services et une application cliente.

Espace de noms https://schemas.microsoft.com/analysisservices/2003/engine

Syntaxe

<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>

Caractéristiques de l'élément

Caractéristique

Description

Type de données et longueur

Aucun

Valeur par défaut

Aucune

Cardinalité

0-1 : élément facultatif qui peut apparaître une fois et une seule.

Relations entre les éléments

Relation

Élément

Éléments parents

Aucun

Éléments enfants

Capability

Notes

L'élément ProtocolCapabilities permet aux applications clientes de négocier à tout moment des fonctionnalités de protocole, notamment la prise en charge du code XML binaire ou de la compression, avec une instance Analysis Services. La négociation de protocole implique les étapes suivantes :

  1. L'application cliente identifie sa fonctionnalité de protocole en envoyant une demande SOAP qui inclut l'élément ProtocolCapabilities dans le cadre de l'en-tête SOAP.

  2. L'instance Analysis Services reçoit et traite la demande SOAP.

  3. Si l'instance Analysis Services dispose de la même fonctionnalité de protocole que celle demandée, elle transmet une réponse SOAP qui inclut le même élément ProtocolCapabilities que l'élément envoyé dans la demande SOAP. La négociation du protocole est alors réussie. Dans le cas inverse, les fonctionnalités de protocole ne sont pas négociées comme il se doit et l'instance retourne une erreur SOAP.

Après négociation en bonne et due forme des fonctionnalités de protocole, la durée d'utilisation d'un protocole spécifique par l'application cliente et l'instance Analysis Services dépend de la nature explicite ou implicite de la session :

  • Une session explicite est créée à l'aide de l'élément d'en-tête BeginSession. Pour ce type de session, le protocole négocié est utilisé jusqu'à l'envoi d'un nouvel élément ProtocolCapabilities par l'application cliente ou jusqu'à la fin de la session.

  • Une session implicite est créée par une instance Analysis Services. Elle n'est pas définie de manière explicite par l'application cliente lorsque vous soumettez une demande SOAP. Dans le cadre de ce type de session, le protocole négocié est employé uniquement jusqu'à ce que la demande SOAP soit terminée.

Les fonctionnalités de protocole n'ont pas à être négociées de manière explicite, ce qui signifie qu'une application cliente n'a pas pour obligation d'inclure un élément ProtocolCapabilities dans le cadre de la demande SOAP. Si une demande SOAP n'inclut pas d'élément ProtocolCapabilities, l'instance Analysis Services répond en adoptant le même format que la demande SOAP.

Voir aussi

Concepts

Autres ressources