Il Web Services Description Language (WSDL) è un documento XML in grado di descrivere le funzioni e i parametri di un Web Service.
Questo documento è quindi una descrizione di come interagire con il servizio in questione ed è quindi usato per la creazione dei client dei servizi web.
All’interno del file WSDL Sono descritte:
- le "operazioni" messe a disposizione dal servizio;
- il protocollo di comunicazione da utilizzare per accedere al servizio;
- il formato dei messaggi accettati in input;
- gli output restituiti e il loro formato;
- gli endpoint di ogni funzione.
Il WSDL è solitamente utilizzato in combinazione con SOAP e XML Schema per rendere disponibili i servizi web, e permettere il dialogo automatico macchina/macchina.
Ad esempio, un software client può leggere il documento WSDL relativo ad un Web Service e, conseguentemente, comporre messaggi SOAP per usufruirne correttamente.
Gli elementi principali che compongono un documento WSDL sono:
- types – definisce i tipi di dato che possono essere scambiati tra client e web service
- message – descrive i messaggi che possono essere scambiati tra il web service e i client
- portType – definisce i punti di connessione verso il webservice (ogni operazione esposta ha un elemento portType);
- binding – descrive un operazione esposta dal servizio web con gli elementi in input, output ed i loro vincoli
- service – fornisce una descrizione testuale del servizio (leggibile dall’uomo), e informa i client da dove accedere a quest’ultimo.
Di seguito uno "scheletro" della struttura di base di un file WSDL:
- <?xml … ?> – dichiarazione versione XML
- <wsdl:definitions … > – dichiarazione del WSDL
- <wsdl:types>… </wsdl:types> – definizione dei tipi di dato
- <message> … </message> – elenco dei messaggi
- <portType> … </portType> – elenco delle porte
- <binding> … </binding> – associazione tra operazioni e trasporto
- <service> … </service> – definizione del servizio
A questo link è possibile leggere un esempio di file WSDL.