SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Un tutorial veloce per WSDL
Liberamente estratto e sintetizzato da
WSDL-Tutorial (http://www.w3schools.com/wsdl)
Introduzione
WSDL è un linguaggio basato su XML per descrivere i servizi Web e le modalità per accedervi.
Prima di apprestarsi alla lettura di questo tutorial si devono conoscere i seguenti argomenti:XML,
XML Schema, XML Namespace.
WSDL sta per linguaggio di descrizione per Web Service (Web Service Description Language). Un
documento WSDL è un documento XML in quanto WSDL è basto su XML. WSDL è usato per
descrivere i servizi ma anche per localizzarli. WSDL specifica la locazione del servizio e le
operazioni (o i metodi) che questo offre.WSDL è una raccomandazione del W3C.
Documenti WSDL
Un documento WSDL è un semplice documento XML che contiene un insieme di definizioni per
descrivere il servizio.
La struttura di un documento WSDL
Gli elementi più importanti usati da WSDL per descrivere un servizio sono i seguenti
    • <types>: i tipi di dato usati dal servizio.
    • <message>: i messaggi usati dal web service.
    • <portType>: le operazioni eseguite dal servizio.
    • <binding>: i protocolli di comunicazione usati dal servizio.
La struttura principale del documento è simile a quella presentata nel seguente listato:

<definitions>

<types>
      definizione dei tipi....
</types>

<message>
      definizione di un messaggio....
</message>

<portType>
      definizione di un port....
</portType>

<binding>
      definifinizione di un binding...
</binding>

</definitions>

Un documento WSDL può anche contenere altri elementi come elementi di estensione e un
elemento del servizio che dà la possibilità di raggruppare le definizioni di diversi web service in un
solo documento WSDL.
Port WSDL
L'elemento <portType> è il più importante in un documento WSDL: descrive il servizio, le
operazioni che possono essere eseguite e i messaggi che sono coinvolti in queste operazioni.
L'elemento <portType> può essere paragonato ad una libreria di funzioni (o un modulo, o una
classe) in un tradizionale linguaggio di programmazione.
Messaggi WSDL
L'elemento <message> definisce gli elementi di dati di una operazione.
Ogni messaggio può essere costituito da una o più parti. Le parti possono essere paragonate a dei
parametri di una chiamata di funzione in un linguaggio di programmazione tradizionale.
Tipi WSDL
L'elemento <types> definisce i tipi di dato usati nel web service: per la massima compatibilità tra le
piattaforme WSDL usa XML Schema per definire i tipi di dato.
Binding WSDL
L'elemento <binding> definisce il formato del messaggio ed i dettagli del protocollo per ogni Port.
Esempio di 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 l'elemento portType definisce un “glossaryTerm” come nome del port e
“getTerm” come nome dell'operazione. L'operazione “getTerm” ha un messaggio di input chiamato
“getTermRequest” e un messaggio di output chiamato “getTermResponse”. Gli elementi <message>
definisco le parti di ogni messaggio e i tipi di dato ad esse associato.
Confrontando questo esempio con un lingaggio di programmazione tradizionale, “glossaryTerm”
risulta essere una libreria di funzioni, “getTerm” una funzione con “getTermRequest” come
parametro di input e “getTermResponse” come parametro di output.
Port WSDL
Un port WSDL descrive le interfacce ( le operazioni consentite) presentate da un web service.
Il port definisce un punto di connessione con il servizio. Un port può essere visto come una libreria
di funzioni e ogni sua operazione come una funzione.
Tipi di Operazioni
Il tipo di operazione Request-Response è il più comune in WSDL ma non è l'unico supportato.
     • One-Way: L'operazione può ricevere una richiesta ma non ritorna nessuna risposta
     • Request-Response: L'operazione può ricevere delle richieste e ritornerà una risposta.
     • Solicit-Response: L'operazione può spedire una richiesta e attendere per una risposta.
     • Notification: L'operazione può spedire un messaggio ma non attenderà una risposta.
Operazioni One-Way
<message name="newTermValues">
      <part name="term" type="xs:string"/>
      <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
      <operation name="setTerm">
            <input name="newTerm" message="newTermValues"/>
      </operation>
</portType >

Nell'esempio il porto “glossaryTerms” definisce un'operazione one-way chiamata “setTerm”.
L'operazione “setTerm” accetta messaggi di input con nuovi termini del glossario, usando un
messaggio “newTermValues” con parametri di input “term” e “value”. Non è stato definito nessun
output per questa operazione.
Operazioni Request-Response

<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>

Nell'esempio il port “glossaryTerms” definisce una operazione Request-Response chiamata
“getTerm”.L'operazione “getTerm” richiede un messaggio di input chiamato “getTermRequest”,con
un parametro chiamato “term”,e ritorna un messaggio di output chiamato “getTermResponse”, con
un parametro chiamato “value”.
Binding WSDL
Un binding WSDL definisce il formato del messaggio e i dettagli sul protocollo per un servizio
web.
Binding con SOAP

<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>

<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>

L'elemento <binging> ha due attributi: name e type. L'attributo name ( si può usare qualsiasi nome
si voglia) definisce il nome del binding mentre l'attributo type punta al port a cui si riferisce il
binding, in questo caso “glossaryTerms”.
L'elemento soap:binding ha due attributi: style e transport. L'attributo style può valere o “rpc”
(remote procedure call) oppure “document” (in questo caso abbiamo usato “document”) mentre
l'attributo transport definisce il protocollo SOAP da utilizzare (in questo caso usiamo HTTP).
L'elemento operation definisce ogni operazioni che il port espone (contiene). Per ogni operazione
deve essere definita la SOAP action corrispondente e si deve inoltre specificare come gli input e gli
output devono essere codificati (in questo caso abbiamo usato “literal”.
WSDL e UDDI
Universal Description, Discovery e Integration (UDDI) è un servizio di directory in cui le imprese
possono registrarsi e cercare i servizi Web. UDDI è framework indipendente dalla piattaform per la
descrizione dei servizi, il discovery delle imprese, e per l'integrazione dei servizi imprenditoriali
tramite Internet. UDDI è una directory per immagazzinare informazioni sui servizi e le interfacce
dei web service scritte in WSDL. UDDI comunica tramite SOAP ed è costruita all'interno della
piattaforma Microsoft .NET.
UDDI usa gli standard del W3C (World Wide Web Consortium) e dell'IETF (Internet Engineering
Task Force) come XML, SOAP, HTTP e DNS e inoltre sfrutta WSDL per descrivere le interfacce
dei servizi.
UDDI è utile per trovare l'impresa giusta tra i milioni di imprese online, per definire come stabilire
il commercio una volta trovata l'impresa, raggiungere nuovi consumatori e migliorare l'accesso di
quelli già acquisiti, risolvere
Oltre 200 compagnie già sono membri della comunità UDDI.

Mais conteúdo relacionado

Destaque

TWB - Canada presentation
TWB - Canada presentationTWB - Canada presentation
TWB - Canada presentationguest7f8e87b
 
Ada it#09 pengunaan pdf
Ada it#09   pengunaan pdfAda it#09   pengunaan pdf
Ada it#09 pengunaan pdfazlipaat
 
Pediatric Eye Conditions In Wisconsins Preschool Population
Pediatric Eye Conditions In Wisconsins Preschool PopulationPediatric Eye Conditions In Wisconsins Preschool Population
Pediatric Eye Conditions In Wisconsins Preschool Populationwcbvi
 
Windows 7 - uudet ominaisuudet
Windows 7 - uudet ominaisuudetWindows 7 - uudet ominaisuudet
Windows 7 - uudet ominaisuudetVaihde 7
 
Presentación de Servicios AG Sustentable
Presentación de Servicios AG SustentablePresentación de Servicios AG Sustentable
Presentación de Servicios AG Sustentabledavosconsultores
 
Formato de clase 2012 8th-9th advice&suggestion
Formato de clase 2012  8th-9th advice&suggestionFormato de clase 2012  8th-9th advice&suggestion
Formato de clase 2012 8th-9th advice&suggestionEvelin Peña
 
HyEnergy Theoretical Concept for a Retail Consumer Model
HyEnergy Theoretical Concept for a Retail Consumer ModelHyEnergy Theoretical Concept for a Retail Consumer Model
HyEnergy Theoretical Concept for a Retail Consumer ModelDorina M. Morcan
 
Tips for UXD that works
Tips for UXD that worksTips for UXD that works
Tips for UXD that worksAlbert Wang
 
Formato de clase 8y9 acronyms
Formato de clase 8y9 acronymsFormato de clase 8y9 acronyms
Formato de clase 8y9 acronymsEvelin Peña
 
Advice presentation dr house
Advice presentation dr houseAdvice presentation dr house
Advice presentation dr houseEvelin Peña
 
Formato de clase 6y7 simple past
Formato de clase 6y7 simple pastFormato de clase 6y7 simple past
Formato de clase 6y7 simple pastEvelin Peña
 
Windows 7 Käyttöönottoprojekti
Windows 7 KäyttöönottoprojektiWindows 7 Käyttöönottoprojekti
Windows 7 KäyttöönottoprojektiVaihde 7
 

Destaque (20)

TWB - Canada presentation
TWB - Canada presentationTWB - Canada presentation
TWB - Canada presentation
 
Sviluppo e Organizzazione
Sviluppo e OrganizzazioneSviluppo e Organizzazione
Sviluppo e Organizzazione
 
Ada it#09 pengunaan pdf
Ada it#09   pengunaan pdfAda it#09   pengunaan pdf
Ada it#09 pengunaan pdf
 
Pediatric Eye Conditions In Wisconsins Preschool Population
Pediatric Eye Conditions In Wisconsins Preschool PopulationPediatric Eye Conditions In Wisconsins Preschool Population
Pediatric Eye Conditions In Wisconsins Preschool Population
 
Windows 7 - uudet ominaisuudet
Windows 7 - uudet ominaisuudetWindows 7 - uudet ominaisuudet
Windows 7 - uudet ominaisuudet
 
Ict4 d rhul talk
Ict4 d rhul talkIct4 d rhul talk
Ict4 d rhul talk
 
Openid+Opensocial
Openid+OpensocialOpenid+Opensocial
Openid+Opensocial
 
Presentación de Servicios AG Sustentable
Presentación de Servicios AG SustentablePresentación de Servicios AG Sustentable
Presentación de Servicios AG Sustentable
 
Formato de clase 2012 8th-9th advice&suggestion
Formato de clase 2012  8th-9th advice&suggestionFormato de clase 2012  8th-9th advice&suggestion
Formato de clase 2012 8th-9th advice&suggestion
 
HyEnergy Theoretical Concept for a Retail Consumer Model
HyEnergy Theoretical Concept for a Retail Consumer ModelHyEnergy Theoretical Concept for a Retail Consumer Model
HyEnergy Theoretical Concept for a Retail Consumer Model
 
Tips for UXD that works
Tips for UXD that worksTips for UXD that works
Tips for UXD that works
 
Dapat Cms
Dapat CmsDapat Cms
Dapat Cms
 
Formato de clase 8y9 acronyms
Formato de clase 8y9 acronymsFormato de clase 8y9 acronyms
Formato de clase 8y9 acronyms
 
Advice presentation dr house
Advice presentation dr houseAdvice presentation dr house
Advice presentation dr house
 
sukses bekerja
sukses bekerjasukses bekerja
sukses bekerja
 
Formato de clase 6y7 simple past
Formato de clase 6y7 simple pastFormato de clase 6y7 simple past
Formato de clase 6y7 simple past
 
Sawsdl Restriced
Sawsdl RestricedSawsdl Restriced
Sawsdl Restriced
 
Windows 7 Käyttöönottoprojekti
Windows 7 KäyttöönottoprojektiWindows 7 Käyttöönottoprojekti
Windows 7 Käyttöönottoprojekti
 
Presentazione Progetto CRio
Presentazione Progetto CRioPresentazione Progetto CRio
Presentazione Progetto CRio
 
E
EE
E
 

Semelhante a Fast Wsdl Tutorial

Studio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
Studio e realizzazione di Web Services in Ambienti di Sviluppo IntegratiStudio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
Studio e realizzazione di Web Services in Ambienti di Sviluppo IntegratiGiusy E Marco Tutone-Calandra
 
Introduzione ai Web Services
Introduzione ai Web ServicesIntroduzione ai Web Services
Introduzione ai Web ServicesMarco Livraghi
 
Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1pma77
 
Rubrica pubblica ateneo
Rubrica pubblica ateneoRubrica pubblica ateneo
Rubrica pubblica ateneodgaglioti
 
phpday 2006 - WS in PHP
phpday 2006 - WS in PHPphpday 2006 - WS in PHP
phpday 2006 - WS in PHPGaetano Giunta
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveEmanuele Della Valle
 
OWL-S Restricted
OWL-S RestrictedOWL-S Restricted
OWL-S RestrictedDario Mazza
 
SAWSDL Restriced
SAWSDL RestricedSAWSDL Restriced
SAWSDL RestricedDario Mazza
 
2 Protocolli Applicativi
2 Protocolli Applicativi2 Protocolli Applicativi
2 Protocolli Applicativiacapone
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleMarco Breveglieri
 
Service Registry Repository Opensource implementato su Semantic Media Wiki
Service Registry Repository Opensource implementato su Semantic Media WikiService Registry Repository Opensource implementato su Semantic Media Wiki
Service Registry Repository Opensource implementato su Semantic Media WikiMatteo Busanelli
 
Come funziona la navigazione Web
Come funziona la navigazione WebCome funziona la navigazione Web
Come funziona la navigazione Webextrategy
 

Semelhante a Fast Wsdl Tutorial (20)

Studio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
Studio e realizzazione di Web Services in Ambienti di Sviluppo IntegratiStudio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
Studio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
 
Composite Apps
Composite AppsComposite Apps
Composite Apps
 
Composite Application
Composite ApplicationComposite Application
Composite Application
 
Web services
Web servicesWeb services
Web services
 
Introduzione ai Web Services
Introduzione ai Web ServicesIntroduzione ai Web Services
Introduzione ai Web Services
 
Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1
 
Rubrica pubblica ateneo
Rubrica pubblica ateneoRubrica pubblica ateneo
Rubrica pubblica ateneo
 
phpday 2006 - WS in PHP
phpday 2006 - WS in PHPphpday 2006 - WS in PHP
phpday 2006 - WS in PHP
 
TESIPOLI
TESIPOLITESIPOLI
TESIPOLI
 
Rubrica pubblica ateneo
Rubrica pubblica ateneoRubrica pubblica ateneo
Rubrica pubblica ateneo
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
 
OWL-S Restricted
OWL-S RestrictedOWL-S Restricted
OWL-S Restricted
 
Owl S Restricted
Owl S RestrictedOwl S Restricted
Owl S Restricted
 
SAWSDL Restriced
SAWSDL RestricedSAWSDL Restriced
SAWSDL Restriced
 
Sistemi distribuiti
Sistemi distribuitiSistemi distribuiti
Sistemi distribuiti
 
Spcoop.ver 1.4
Spcoop.ver 1.4Spcoop.ver 1.4
Spcoop.ver 1.4
 
2 Protocolli Applicativi
2 Protocolli Applicativi2 Protocolli Applicativi
2 Protocolli Applicativi
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarle
 
Service Registry Repository Opensource implementato su Semantic Media Wiki
Service Registry Repository Opensource implementato su Semantic Media WikiService Registry Repository Opensource implementato su Semantic Media Wiki
Service Registry Repository Opensource implementato su Semantic Media Wiki
 
Come funziona la navigazione Web
Come funziona la navigazione WebCome funziona la navigazione Web
Come funziona la navigazione Web
 

Mais de Sebastiano Merlino (eTr) (20)

How to build SOLID code
How to build SOLID codeHow to build SOLID code
How to build SOLID code
 
Multithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e AsincroniaMultithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e Asincronia
 
Asterisk
AsteriskAsterisk
Asterisk
 
Biomeccatronica
BiomeccatronicaBiomeccatronica
Biomeccatronica
 
Bash programming
Bash programmingBash programming
Bash programming
 
Lezione Uno Pratica
Lezione Uno PraticaLezione Uno Pratica
Lezione Uno Pratica
 
Lezione Tre Pratica
Lezione Tre PraticaLezione Tre Pratica
Lezione Tre Pratica
 
Lezione tre
Lezione treLezione tre
Lezione tre
 
Lezione Quattro
Lezione QuattroLezione Quattro
Lezione Quattro
 
Lezione Due Pratica
Lezione Due PraticaLezione Due Pratica
Lezione Due Pratica
 
Lezione Cinque
Lezione CinqueLezione Cinque
Lezione Cinque
 
Lezione uno
Lezione unoLezione uno
Lezione uno
 
Lezione due
Lezione dueLezione due
Lezione due
 
Wsmo Restricted
Wsmo RestrictedWsmo Restricted
Wsmo Restricted
 
Owl Guide Resticted
Owl Guide RestictedOwl Guide Resticted
Owl Guide Resticted
 
Lezione Tre
Lezione TreLezione Tre
Lezione Tre
 
Linux & Open Source - Alternative Software
Linux & Open Source - Alternative SoftwareLinux & Open Source - Alternative Software
Linux & Open Source - Alternative Software
 
Linux & Open Source - Lezione 2 Supporto
Linux & Open Source - Lezione 2 SupportoLinux & Open Source - Lezione 2 Supporto
Linux & Open Source - Lezione 2 Supporto
 
Linux & Open Source - Lezione 2
Linux & Open Source - Lezione 2Linux & Open Source - Lezione 2
Linux & Open Source - Lezione 2
 
Linux & Open Source - Lezione 1 Supporto
Linux & Open Source - Lezione 1 SupportoLinux & Open Source - Lezione 1 Supporto
Linux & Open Source - Lezione 1 Supporto
 

Fast Wsdl Tutorial

  • 1. Un tutorial veloce per WSDL Liberamente estratto e sintetizzato da WSDL-Tutorial (http://www.w3schools.com/wsdl) Introduzione WSDL è un linguaggio basato su XML per descrivere i servizi Web e le modalità per accedervi. Prima di apprestarsi alla lettura di questo tutorial si devono conoscere i seguenti argomenti:XML, XML Schema, XML Namespace. WSDL sta per linguaggio di descrizione per Web Service (Web Service Description Language). Un documento WSDL è un documento XML in quanto WSDL è basto su XML. WSDL è usato per descrivere i servizi ma anche per localizzarli. WSDL specifica la locazione del servizio e le operazioni (o i metodi) che questo offre.WSDL è una raccomandazione del W3C. Documenti WSDL Un documento WSDL è un semplice documento XML che contiene un insieme di definizioni per descrivere il servizio. La struttura di un documento WSDL Gli elementi più importanti usati da WSDL per descrivere un servizio sono i seguenti • <types>: i tipi di dato usati dal servizio. • <message>: i messaggi usati dal web service. • <portType>: le operazioni eseguite dal servizio. • <binding>: i protocolli di comunicazione usati dal servizio. La struttura principale del documento è simile a quella presentata nel seguente listato: <definitions> <types> definizione dei tipi.... </types> <message> definizione di un messaggio.... </message> <portType> definizione di un port.... </portType> <binding> definifinizione di un binding... </binding> </definitions> Un documento WSDL può anche contenere altri elementi come elementi di estensione e un elemento del servizio che dà la possibilità di raggruppare le definizioni di diversi web service in un solo documento WSDL. Port WSDL L'elemento <portType> è il più importante in un documento WSDL: descrive il servizio, le operazioni che possono essere eseguite e i messaggi che sono coinvolti in queste operazioni. L'elemento <portType> può essere paragonato ad una libreria di funzioni (o un modulo, o una classe) in un tradizionale linguaggio di programmazione. Messaggi WSDL L'elemento <message> definisce gli elementi di dati di una operazione. Ogni messaggio può essere costituito da una o più parti. Le parti possono essere paragonate a dei parametri di una chiamata di funzione in un linguaggio di programmazione tradizionale.
  • 2. Tipi WSDL L'elemento <types> definisce i tipi di dato usati nel web service: per la massima compatibilità tra le piattaforme WSDL usa XML Schema per definire i tipi di dato. Binding WSDL L'elemento <binding> definisce il formato del messaggio ed i dettagli del protocollo per ogni Port. Esempio di 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 l'elemento portType definisce un “glossaryTerm” come nome del port e “getTerm” come nome dell'operazione. L'operazione “getTerm” ha un messaggio di input chiamato “getTermRequest” e un messaggio di output chiamato “getTermResponse”. Gli elementi <message> definisco le parti di ogni messaggio e i tipi di dato ad esse associato. Confrontando questo esempio con un lingaggio di programmazione tradizionale, “glossaryTerm” risulta essere una libreria di funzioni, “getTerm” una funzione con “getTermRequest” come parametro di input e “getTermResponse” come parametro di output. Port WSDL Un port WSDL descrive le interfacce ( le operazioni consentite) presentate da un web service. Il port definisce un punto di connessione con il servizio. Un port può essere visto come una libreria di funzioni e ogni sua operazione come una funzione. Tipi di Operazioni Il tipo di operazione Request-Response è il più comune in WSDL ma non è l'unico supportato. • One-Way: L'operazione può ricevere una richiesta ma non ritorna nessuna risposta • Request-Response: L'operazione può ricevere delle richieste e ritornerà una risposta. • Solicit-Response: L'operazione può spedire una richiesta e attendere per una risposta. • Notification: L'operazione può spedire un messaggio ma non attenderà una risposta. Operazioni One-Way <message name="newTermValues"> <part name="term" type="xs:string"/> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="setTerm"> <input name="newTerm" message="newTermValues"/> </operation> </portType > Nell'esempio il porto “glossaryTerms” definisce un'operazione one-way chiamata “setTerm”. L'operazione “setTerm” accetta messaggi di input con nuovi termini del glossario, usando un messaggio “newTermValues” con parametri di input “term” e “value”. Non è stato definito nessun output per questa operazione.
  • 3. Operazioni Request-Response <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> Nell'esempio il port “glossaryTerms” definisce una operazione Request-Response chiamata “getTerm”.L'operazione “getTerm” richiede un messaggio di input chiamato “getTermRequest”,con un parametro chiamato “term”,e ritorna un messaggio di output chiamato “getTermResponse”, con un parametro chiamato “value”. Binding WSDL Un binding WSDL definisce il formato del messaggio e i dettagli sul protocollo per un servizio web. Binding con SOAP <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> <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> L'elemento <binging> ha due attributi: name e type. L'attributo name ( si può usare qualsiasi nome si voglia) definisce il nome del binding mentre l'attributo type punta al port a cui si riferisce il binding, in questo caso “glossaryTerms”. L'elemento soap:binding ha due attributi: style e transport. L'attributo style può valere o “rpc” (remote procedure call) oppure “document” (in questo caso abbiamo usato “document”) mentre l'attributo transport definisce il protocollo SOAP da utilizzare (in questo caso usiamo HTTP). L'elemento operation definisce ogni operazioni che il port espone (contiene). Per ogni operazione
  • 4. deve essere definita la SOAP action corrispondente e si deve inoltre specificare come gli input e gli output devono essere codificati (in questo caso abbiamo usato “literal”. WSDL e UDDI Universal Description, Discovery e Integration (UDDI) è un servizio di directory in cui le imprese possono registrarsi e cercare i servizi Web. UDDI è framework indipendente dalla piattaform per la descrizione dei servizi, il discovery delle imprese, e per l'integrazione dei servizi imprenditoriali tramite Internet. UDDI è una directory per immagazzinare informazioni sui servizi e le interfacce dei web service scritte in WSDL. UDDI comunica tramite SOAP ed è costruita all'interno della piattaforma Microsoft .NET. UDDI usa gli standard del W3C (World Wide Web Consortium) e dell'IETF (Internet Engineering Task Force) come XML, SOAP, HTTP e DNS e inoltre sfrutta WSDL per descrivere le interfacce dei servizi. UDDI è utile per trovare l'impresa giusta tra i milioni di imprese online, per definire come stabilire il commercio una volta trovata l'impresa, raggiungere nuovi consumatori e migliorare l'accesso di quelli già acquisiti, risolvere Oltre 200 compagnie già sono membri della comunità UDDI.