Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

La struttura di un messaggio Soap

Quale è la struttura XML di un messaggio Soap: descrizione dei principali elementi
Quale è la struttura XML di un messaggio Soap: descrizione dei principali elementi
Link copiato negli appunti

Ora che conosciamo come si descrive un Web service cerchiamo di capire in modo veloce come un servizio web comunica con l'applicazione client.

Non approfondiremo molto SOAP poichè è gestito in modo molto efficace dalle librerie fornite con tutti i maggiori linguaggi di programmazione. Ad ogni modo è utile sapere che se le informazioni vengono definite principalmente da WSDL, è grazie a SOAP (Simple Object Access Protocol) se vengono scambiate tra il Web service è l'applicazione che vi accede.

Questo protocollo fornisce una via per comunicare tra applicazioni eseguite su sistemi operativi diversi, con diverse tecnologie e linguaggi di programmazione, tramite HTTP ed XML.

Un messaggio SOAP è un documento XML che contiene i seguenti elementi:

  • Envelope, identifica il documento come un messaggio SOAP
  • Un elemento Header opzionale, contenete informazioni specifiche per l'applicazione, che non sarà approfondito in questa sede ma che permette di definire alcuni messaggi, anche con diversi destinatari nel caso il messaggio dovesse attraversare più punti di arrivo
  • Body è un elemento indispensabile che contiene le informazioni scambiate dalle richieste/risposte
  • Fault è un elemento opzionale che fornisce informazioni riguardo ad eventuali errori manifestati durante la lettura del messaggio

Le regole principali per realizzare un messaggio SOAP sono le seguenti:

Vediamo lo "scheletro" di un messaggio SOAP:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" 
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
	<soap:Header>
		...
	</soap:Header>
	<soap:Body>
	...
		<soap:Fault>
		...
		</soap:Fault>
	</soap:Body>
</soap:Envelope>

All'interno dell'elemento Envelope abbiamo definito i namespace
soap evelope ed encoding che come abbiamo visto sono richiesti per questo tipo di documento. Se non vengono definiti o si definiscono diversamente le applicazioni coinvolte nella comunicazione potrebbero generare un errore o scartare il messaggio.

Ti consigliamo anche