ProtocolCapabilities-Element (XMLA)
Verwendet den SOAP-Header in einer SOAP-Anforderungsnachricht, um Protokollfunktionen zwischen einer Instanz von Microsoft SQL Server Analysis Services und einer Clientanwendung zu identifizieren.
Namespace https://schemas.microsoft.com/analysisservices/2003/engine
Syntax
<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>
Elementmerkmale
Merkmal |
Beschreibung |
---|---|
Datentyp und -länge |
Keiner |
Standardwert |
Keiner |
Kardinalität |
0-1: Optionales Element, das nur einmal auftreten kann. |
Elementbeziehungen
Beziehung |
Element |
---|---|
Übergeordnete Elemente |
Keine |
Untergeordnete Elemente |
Hinweise
Das ProtocolCapabilities-Element ermöglicht es Clientanwendungen, Protokollfunktionen auszuhandeln, z. B. Support für binäres XML und Komprimierung, mit jeweils einer Analysis Services-Instanz. Die Protokollaushandlung schließt die folgenden Schritte ein:
Die Clientanwendung identifiziert die Protokollfunktion, indem sie eine SOAP-Anforderung sendet, die sowohl das ProtocolCapabilities-Element als auch den SOAP-Header enthält.
Die Analysis Services-Instanz empfängt und verarbeitet die SOAP-Anforderung.
Wenn die Analysis Services-Instanz über die gleiche Protokollfunktion wie die angeforderte verfügt, sendet die Instanz eine SOAP-Antwort, zu der das gleiche ProtocolCapabilities-Element gehört, das in der SOAP-Anforderung gesendet wurde; außerdem wurde das Protokoll erfolgreich ausgehandelt. Andernfalls werden die Protokollfunktionen nicht erfolgreich ausgehandelt, und die Instanz gibt einen SOAP-Fehler zurück.
Nach der erfolgreichen Aushandlung der Protokollfunktionen hängt die Dauer der Verwendung eines bestimmten Protokolls durch die Clientanwendung und die Analysis Services-Instanz davon ab, ob die Sitzung implizit oder explizit ist:
Eine explizite Sitzung ist eine Sitzung, die über das BeginSession-Headerelement erstellt wird. Bei einer expliziten Sitzung wird das verhandelte Protokoll so lange verwendet, bis die Clientanwendung ein neues ProtocolCapabilities-Element sendet oder bis die Sitzung endet.
Eine implizite Sitzung ist eine Sitzung, die über eine Analysis Services-Instanz erstellt wird und nicht beim Übermitteln einer SOAP-Anforderung explizit von der Clientanwendung angegeben wird. Bei einer impliziten Sitzung wird das ausgehandelte Protokoll nur so lange verwendet, bis die SOAP-Anforderung abgeschlossen ist.
Protokollfunktionen müssen nicht explizit ausgehandelt werden. Das heißt, dass eine Clientanwendung kein ProtocolCapabilities-Element als Teil der SOAP-Anforderung enthalten muss. Wenn eine SOAP-Anforderung kein ProtocolCapabilities-Element enthält, antwortet die Analysis Services-Instanz unter Verwendung des gleichen Formats wie die SOAP-Anforderung.