Da un po' di tempo a questa parte si sente molto parlare (anche sugli altri blog e nei forum di ASP Italia) di AJAX, acronimo di "Asynchronous JavaScript and XML", una tecnologia basata su XMLHttpRequest (che è ormai supportato da tutti i principali browser)
L'idea di fondo è piuttosto semplice (e nemmeno troppo innovativa) ma permette di aggiornare una pagina a seguito di chiamate al server senza dover ricaricare interamente la pagina stessa.
NOTA: chi, leggendo "AJAX", ha pensato ad un detersivo o ad una squadra di calcio olandese può farsi un'idea dell'argomento trattato utilizzando il client Web di GMail o Google Suggest per vedere AJAX all'opera.
Per non essere fuori moda ho pensato di sviluppare anch'io qualcosa utilizzando AJAX e, dopo qualche test, sia con libreria strettamente client che con AJAX.NET, mi è venuta un'idea: anziché fare chiamate a pagine che rispondono in generico XML (o peggio ancora con qualche altra sintassi custom inventata al momento), perché non invocare dei normali e - si spera - standard webservices?
In questo modo, lato server, non ci resterebbe altro da fare che esporre la funzionalità che ci interessa invocare da remoto come WebMethod (con .NET non c'è niente di più facile, no?)
Ma come utilizzare poi la risposta SOAP senza processarla di volta in volta con del nuovo codice JavaScript alla ricerca dei nodi che ci interessano (ovvero come se fosse del "banale" XML)?
Semplicemente utilizzando la descrizione del webservice stesso: il suo WSDL!
Con un po' di codice JavaScript sono arrivato a generare "al volo" anche le classi più complesse che un webservice possa restituire, simulando in tutto e per tutto il proxy di .NET (cioè quello che fa Visual Studio all'aggiunta di un Web Reference o il tool dell'SDK "wsdl.exe")
Se ho stimolato la vostra curiosità e siete ansiosi di vedere all'opera il mio "SOAP Client", all'indirizzo http://www.guru4.net/articoli/javascript-soap-client/ trovate:
- il codice sorgente ampiamente commentato
- il downalod della libreria (è un solo file js e pesa circa 7 KB!)
- una decina di esempi di utilizzo (demo)
Ovviamente sono graditi commenti, impressioni e suggerimenti!
Alessandro Ghioldi
Ecco qui il commento (serio o quasi), per comodità userò
l'agenda ufficiale e commento sessione per...
Alessandro Ghioldi
Leggo ora sul blog di Stefano
Mostarda che al Real Code
Day terrà una sessione dal titolo assai...
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




Stampa
Download
10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
Ho provato solo ora la tua tecnica... CLAP CLAP CLAP! Bellissimo lavoro, ottima l'idea dell'uso dei WS!
Bravo Matteo!
Continua »»» | Rispondi »»»