Condividi tramite


Elemento ProtocolCapabilities (XMLA)

Utilizza l'intestazione SOAP in un messaggio di richiesta SOAP per identificare le funzionalità del protocollo tra un'istanza di Microsoft SQL Server Analysis Services e un'applicazione client.

Spazio dei nomi https://schemas.microsoft.com/analysisservices/2003/engine

Sintassi

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

Caratteristiche elemento

Caratteristica

Descrizione

Tipo di dati e lunghezza

Nessuno

Valore predefinito

Nessuno

Cardinalità

0-1: elemento facoltativo che può presentarsi una sola volta

Relazioni elemento

Relazione

Elemento

Elementi padre

Nessuno

Elementi figlio

Funzionalità

Osservazioni

L'elemento ProtocolCapabilities consente alle applicazioni client di negoziare funzionalità del protocollo, ad esempio XML binario o supporto della compressione, con un'istanza Analysis Services in qualsiasi momento. La negoziazione del protocollo comporta i passaggi seguenti:

  1. L'applicazione client identifica la funzionalità del protocollo inviando una richiesta SOAP che include come parte dell'elemento ProtocolCapabilities l'intestazione SOAP.

  2. L'istanza Analysis Services riceve ed elabora la richiesta SOAP.

  3. Se l'istanza Analysis Services ha la stessa funzionalità del protocollo richiesto, l'istanza invia una risposta SOAP che include lo stesso elemento ProtocolCapabilities inviato nella richiesta SOAP e il protocollo viene negoziato correttamente. In caso contrario le funzionalità del protocollo non vengono negoziate correttamente e l'istanza restituisce un errore SOAP.

Dopo aver negoziato correttamente le funzionalità del protocollo, per quanto tempo l'applicazione client e l'istanza Analysis Services utilizzano un particolare protocollo dipende dal fatto che la sessione sia esplicita o implicita:

  • Una sessione esplicita viene creata utilizzando l'elemento dell'intestazione BeginSession. Per una sessione esplicita viene utilizzato il protocollo negoziato, finché l'applicazione client non invia un elemento ProtocolCapabilities nuovo o la sessione termina.

  • Una sessione implicita viene creata da un'istanza Analysis Services e non viene specificata in modo esplicito dall'applicazione client in caso di invio di una richiesta SOAP. Per una sessione implicita, il protocollo negoziato viene utilizzato solo fino al completamento della richiesta SOAP.

Le funzionalità del protocollo non devono essere negoziate in modo esplicito. Ovvero, un'applicazione client non deve includere come parte di un elemento ProtocolCapabilities la richiesta SOAP. Se una richiesta SOAP non include un elemento ProtocolCapabilities, l'istanza Analysis Services risponde utilizzando lo stesso formato della richiesta SOAP.