Documentazione WSDL

Il documento WSDL è semplicemente un documento XML.

Contiene una serie di definizioni che descrivono un web service.

struttura del documento WSDL

Un documento WSDL utilizza questi elementi principali per descrivere un web service:

elemento definizione
<portType> operazioni eseguite dal web service
<message> messaggi utilizzati dal web service
<types> tipi di dati utilizzati dal web service
<binding> protocollo di comunicazione utilizzato dal web service

La struttura principale di un documento WSDL è simile a questa:

<definitions>
<types>
   definition of types........
</types>
<message>
   definition of a message....
</message>
<portType>
   definition of a port.......
</portType>
<binding>
   definition of a binding....
</binding>
</definitions>

Il documento WSDL può includere altri elementi, come l'elemento extension, e un elemento service, che può combinare le definizioni di vari web service in un singolo documento WSDL.

Per una panoramica completa della sintassi, visitare Sintassi WSDL Questa sezione.

Porta WSDL

<portType> L'elemento è uno degli elementi più importanti del WSDL.

Descrive un web service, le operazioni eseguibili e i relativi messaggi.

L'elemento <portType> può essere paragonato a una libreria di funzioni (o a un modulo, o a una classe) in un linguaggio di programmazione tradizionale.

WSDL Messaggi

<message> L'elemento definisce gli elementi di dati di un'operazione.

Ogni messaggio è composto da uno o più componenti. Questi componenti possono essere paragonati ai parametri di una chiamata di funzione in un linguaggio di programmazione tradizionale.

WSDL types

<types> L'elemento definisce i tipi di dati utilizzati dal web service.

Per massima neutralità piattaforma, il WSDL utilizza la sintassi XML Schema per definire i tipi di dati.

WSDL Bindings

<binding> L'elemento definisce il formato dei messaggi e i dettagli del protocollo per ogni porta.

Esempio di WSDL

Questo è un frammento ridotto di un documento WSDL:

<message name="getTermRequest">
   <part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
   <part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
  <operation name="getTerm">
        <input message="getTermRequest"/>
        <output message="getTermResponse"/>
  </operation>
</portType>

In questo esempio:<portType> L'elemento definisce "glossaryTerms" come una certaPortaIl nome, definire "getTerm" come una certaOperazioneIl nome.

L'operazione "getTerm" ha un nome chiamato "getTermRequest".Messaggio di input, e un messaggio chiamato "getTermResponse".Messaggio di output.

<message> L'elemento può definire ogni messaggioComponente, e i tipi di dati associati.

Confrontando la programmazione tradizionale, glossaryTerms è una libreria di funzioni e "getTerm" è una funzione con parametri di input "getTermRequest" e parametri di output getTermResponse.