Come usare Web Services
Ok, sinceramente ancora non mi sono serviti tanto questi servizi Web, forse perché non né ho trovato uno che mi serva. Però voglio scrivere lo stesso un documento semplice (da cui prendere spunto) su come usare Web Services nei diversi linguaggi.
Python
Python ha una sua libreria chiamata SOAPpy (la trovate qui) in grado di gestire Web Services. Ecco un rapido esempio:
from SOAPpy import WSDL
wsdlFile = 'http://www.q4q5.it/tmg/chucknorris.php?wsdl'
chiamata = WSDL.Proxy(wsdlFile)
frase = chiamata.prendiFrase()
Spiegazione: ho usato il web services all'indirizzo nella variabile wsdlFile, chiamando il metodo prendiFrase() (che in questo caso non richiede parametri ma restituisce una stringa) del web services e memorizzando il risultato nella variabile frase. Si usa come se fosse una vera e propria funzione, in modo trasparente.
Per approfondimento, fate riferimento a queste pagine: http://www.diveintopython.org/soap_web_services/index.html
PHP
Anche in PHP l'uso di un Web Service è semplificato: grazie alla libreria SOAP del PEAR, il programmatore non è costretto a creare il file XML di richiesta. Ecco un rapido esempio:
require_once("SOAP/Client.php");
$wsdl = new SOAP_WSDL("http://www.q4q5.it/tmg/chucknorris.php?wsdl");
$chiamata = $wsdl->getProxy();
$frase = $chiamata->prendiFrase();
Spiegazione: ho usato il web services all'indirizzo nella variabile wsdlFile, chiamando il metodo prendiFrase() (che in questo caso non richiede parametri ma restituisce una stringa) del web services e memorizzando il risultato nella variabile frase. Si usa come se fosse una vera e propria funzione, in modo trasparente.
Per approfondimento, fate riferimento a queste pagine: http://www.diveintopython.org/soap_web_services/index.html
Perl
Il perl ha bisogno di una "libreria" SOAP::Lite che ci permette di interrogare il web server direttamente con:
use SOAP::Lite;
print SOAP::Lite
->service('http://www.q4q5.it/tmg/chucknorris.php?wsdl')
->prendiFrase();
Ruby
Ruby è quello che mi ha fatto dannare più di tutti, quindi usatelo con cura :-D Ruby contiene già (almeno in un'installazione standard) il pacchetto necessario per usare i web services SOAP con WSDL:
require "soap/wsdlDriver"
client = SOAP::WSDLDriverFactory.new("http://www.q4q5.it/tmg/chucknorris.php?wsdl").create_rpc_driver
puts client.prendiFrase
Provare i web services
Per testare i Web Services, fate riferimento a questa pagina: http://gradvs1.mgateway.com/main/index.html?path=wsdlValidator
|