cos'è WSDL
WSDL (Web Services Description Language) è un linguaggio per descrivere servizi web, non ancora standard W3C
Un documento WSDL è un normale documento XML che descrive un web service: specifica la locazione del servizio e le operazioni (o i metodi) che ilm servizio espone. I principali elementi sono:
- portType, descrive le operazioni effettuate dal servizio e i messaggi relativi (simile a una libreria di fuzioni, a un modulo, a una classe)
- message, definisce i dati e le operazioni (simile ai parametri di chiamata)
- types, tipi di dato usati, secondo la sintassi XSLSchema
- binding, formato e protocollo di comunicazione utilizzati
esempio:
<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>
glossaryTerms è il nome di un porto (libreria di funzioni), getTerm è il nome di un'operazione (funzione). Il message definisce le parti di ciascun messaggio (parameri in ingresso e uscita della funzione).
tipi di operazione:
- Request-response, il tipo più comune: pu&ograbe; ricevere una richiesta e manda la risposta
- One-way, operazione che riceve un messaggio, ma non risponde
- Solicit-response, operazione che manda una richiesta e si mette in attesa della risposta
- Notification, operazione che manda una richiesta e non si attende risposta
il binding a SOAP
l'elemento
binding ha due attributi: nome (a piacere) e tipo, che deve puntare al porto
l'elemento
soap:binding ha due attributi: stile (rpc o document) e trasporto (HTTP)
l'elemento
operazione definisce ogni operazione che il porto espone
<binding type="glossaryTerms" name="b1">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<operation>
<soap:operation soapAction="http://example.com/getTerm"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
UDDI
UDDI (Universal Description, Discovery and Integration) è un servizio directory dove si possono registrare e cercare servizi web. Descritto con WSDL, comunica via SOAP, è integrato nella piattarorma .NET e molte altre.
il tutorial W3Schools
la sintassi WSDL 1.2 di W3C