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