Elemento ProtocolCapabilities (XMLA)
Utilizza l'intestazione SOAP in un messaggio di richiesta SOAP per identificare le funzionalità del protocollo tra un'istanza di Analysis Services e un'applicazione client.
Spazio dei nomi http://schemas.microsoft.com/analysisservices/2003/engine
Sintassi
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
...
<ProtocolCapabilities xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Capability>...</Capability>
</ProtocolCapabilities>
...
</soap:Header>
<soap:Body>
...
</soap:Body>
</soap:Envelope>
Caratteristiche degli elementi
| Caratteristica | Descrizione |
|---|---|
| Tipo di dati e lunghezza | Nessuno |
| Valore predefinito | Nessuno |
| Cardinalità | 0-1: elemento facoltativo che può ricorrere una sola volta. |
Relazioni tra elementi
| Relazione | Elemento |
|---|---|
| Elementi padre | Nessuno |
| Elementi figlio | Capacità |
Commenti
L'elemento ProtocolCapabilities consente alle applicazioni client di negoziare le funzionalità del protocollo, ad esempio xml binario o il supporto della compressione, con un'istanza del server in qualsiasi momento. La negoziazione del protocollo comporta i passaggi seguenti:
L'applicazione client identifica la funzionalità del protocollo inviando una richiesta SOAP che include come parte dell'elemento ProtocolCapabilities l'intestazione SOAP.
L'istanza riceve ed elabora la richiesta SOAP.
Se l'istanza ha la stessa funzionalità di protocollo richiesta, l'istanza invia una risposta SOAP che include lo stesso elemento ProtocolCapabilities inviato nella richiesta SOAP e il protocollo è stato 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, la durata dell'utilizzo di un protocollo specifico da parte dell'applicazione client e dell'istanza dipende dal fatto che la sessione sia esplicita o implicita:
Una sessione esplicita viene creata usando l'elemento 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 è una sessione creata da un'istanza di e non specificata in modo esplicito dall'applicazione client durante l'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 risponde utilizzando lo stesso formato della richiesta SOAP.