XML WEB SERVICES-SOAP

 

 

SOAP:Simple Object Access Protocol

HTTP:Hyper Text Transport Protocol

 

E’ un componente che permette di fornire funzionalità a diverse applicazioni o siti.

I  servizi Web Xml inviano e ricevono dati dai client sotto forma di messaggi SOAP serializzati.

 

Il protocollo SOAP,a differenza dell’HTML che invia informazioni attraverso coppie di valore,permette a molti tipi di dati complessi di essere passati grazie al supporto xml.

 

Vantaggi

Permette l’integrazione di applicazioni scritte in linguaggi diversi e distribuite su piattaforme diverse(.Net Remoting).

Permette di passare dati attraverso FireWall.

Supporta chiamate asincrone.

 

 

Individuazione WebServices

La ricerca di un w.s. avviene attraverso un servizio UDDI il quale restituisce un Url al documento di individuazione Disco.

Il client,una volta ricevuto l’url,richiede il file disco,che viene scaricato sul client.

 

Il client utilizza le informazioni contenute nel documento di individuazione(Disco) e richiede al server di restituire la descrizione del w.s.

La descrizione del servizio e’ un file WSDL che consente al client di interagire con il servizio web.

 

Un file DISCO ,che viene scaricato suil computer client,contiene informazioni su come raggiungere il Web Services.Il file Disco viene generato automaticamente oppure utilizzando un url contenente ?DISCO(http://www.contoso.it(getprice.asmx?DISCO)

 

Creazione chiamata Web Services

Quando si aggiunge un riferimento ad un web services con vs.Net,viene scaricato il file Disco e viene generata una classe proxy per il servizio Web.

 

Per collegarsi ad un Web Services bisogna aggiungere una Web Reference selezionando l’url.Se pero’ l’url e’ indisponibile,per esempio per manutenzione,allora si puo’ creare la proxy class manualmente usando il Wsdl.exe (Web Services Description Language Tool).

 

Una volta generata la classe proxy,e’ necessario includere il suo nampespace nell’applicazione client.

A questo punto e’ possibile creare un oggetto della classe proxy con l’operatore new

 

Aggiornamento chiamata Web Services

Se un Web Service viene modificato,per esempio aggiunto un parametro al metodo,allora bisogna aggiornare la chiamata.Selezionare il w.s.,tasto destro Update Web Reference.

 

Modifica messaggio Soap

E’ possibile modificare i messaggi soap scambiati tra il client e il servizio Web utilizzando le estendioni SOAP.Ad esempio,per convalidare un messaggio Soap prima che raggiunga il servizio o per comprimere e crittografare un servizio Web.

Esistono 4 fasi differenti:

AfterDeserialize,AfterSerialize,BeforeDeserialize,BeforeSerialize

 

Eccezione

Se il webServices solleva un’eccezione viene catchata nell’interfaccia come:

System.Web.Service.Protocols.SoapException

 

 

Visualizzare la pagina chiamante se viene digitato direttamente il file asmx.

 

In the Web.config file, set the HRef property of the wsdlHelpGenerator node to bin\HousingServiceDescription.aspx.