ESERCITAZIONE DEL 05/06 :
In quest'esercitazione verra' illustrato i un'altro sistema per l'accesso ad oggetti remoti. Il sistema preso in considerazione e' il SOAP - Simple Object Access Protocol.
Cerchiamo ora di spiegare l'interazione tra Client e Server con questo protocollo :
Il Client crea un file XML che contiene una serie di informazioni ( Nome del Server, Nome del metodo, Parametri, etc). E questo file XML viene inoltrato al Server.
Il Server ritornera' il suo risultato sempre all'interno di una pagina XML.
Essendo XML e HTTP degli Standard Internazionali e indipendenti dalle piattaforme, rendono questo protocollo di accesso ad oggetti remoti, un protocollo molto flessibile. Sia per la chiamata che per la risposta, i files XML devono avere delle "TAG" ben definite. Esiste un "Toolkit" che gestice ad alto livello l'utilizzo del protocollo SOAP. Di questo protocollo osserviamo le due classi di pił alto livello. Innanzitutto e' necessario un WebServer installato sulla macchina Server.
SOAP TOOL KIT MS :
Sul Server risiede, per ogni servizio che l'oggetto mette a disposizione, un file WSDL ( Web Services Description Language ). Esso descrive di quali metodi dispone il servizio, e quali parametri devono essere passati. E' in base a questo file che il Client passa il file XML.
In questo protocollo troviamo quindi 2 Oggetti di alto livello da poter gestire :
SOAP Client -> Sul Client
SOAP Server -> Sul Server
A basso livello invece ci sono le API.
Il Server e' un Server Generico. Ecco come utilizzare il SOAP:
<%
Language = VbScript %>
<% Response.ContentType = "Text/XML" %>
'Significa che verrą istanziato un file XML di tipo testo.
<% Set SoapServer = CreateObject ("MSSOAP.SOAPSERVER")
wsdl = Server.MapPath("disponibilitą.wsdl") 'disponibilitą e' il nome del servizio che si
wsml = Server.MapPath ("disponibilitą.wsml") 'vuole utilizzare
call soapserver.init(wsdl,wsml)
call soapserver.SoapInvoke(request,response) %>
WSML e' un file che accompagna il wsdl. Nel ToolKit esiste un WSDL generator che permette di prendere l'oggetto (DLL), permette di selezionare i metodi che si vogliono esporre, e si preoccupa di generare i file WSDL,WSML. Nel Client, invece utilizzeremo questo codice per accedere al SOAP.
<%@Language = VbScript %>
<% Set Client = Server.CreateObject("MSSOAP.SoapClient")
Client.mssopinit "http:\\.......disponibilitą.wsdl"
str = Client.CercaAlbergo(DataInizio,DataFIne) %>