Vediamo come usare Spring Ws per la realizzazione di un web service.

Spring Ws parte dalla definizione del contratto e solo successivamente affronta il problema dell'implementazione. Il vantaggio di questo approccio è quello di permettere allo sviluppatore di concentrarsi sul design del servizio e solo successivamente sulla stesura del codice.

Scopo di questa serie di articoli è la realizzazione di un web service per la ricerca di un libro da un catalogo. La ricerca del libro avviene per titolo o per cognome dell'autore.

Definiamo prima di tutto la struttura dati utilizzata dal web service.

Per semplificazione la struttura dati del libro è di questo tipo:

<complexType name="LibroType">
<sequence>
<element name="titolo" type="string" maxOccurs="1" minOccurs="1"></element>
<element name="nome" type="string" maxOccurs="1" minOccurs="1"></element>
<element name="cognome" type="string" maxOccurs="1" minOccurs="1"></element>
</sequence>
</complexType>

mentre richiesta e risposta hanno questa struttura

<element name="RicercaLibroRequest"> <complexType> <sequence> <element name="titolo" type="string" maxOccurs="1" minOccurs="0"></element> <element name="nome" type="string" maxOccurs="1" minOccurs="0"></element> <element name="cognome" type="string" maxOccurs="1" minOccurs="0"></element> </sequence> </complexType> </element>

<element name="RicercaLibroResponse"> <complexType> <sequence> <element name="libro" type="string" maxOccurs="unbounded" minOccurs="0"></element> </sequence> </complexType> </element>

Definite le strutture dati possiamo definire il wsdl, ovvero il file che descrive il web service in modo completo. Usando Spring ws non è necessario farlo a mano, in quanto è disponibile un modulo che a partire dalla struttura dati indicata sopra può generare il file a runtime. Nel prossimo articolo vedremo la struttura del file per ripassare i concetti sul contratto.

Prossimo