guest@il_blog_di_Enrico204:/$ _  
.: Home :: Chi sono :: Attività :: HowTo :: Appunti vari :: Software :: Files :.

Come usare Web Services

Indice:
  1. Python
  2. PHP
  3. Perl
  4. Ruby
  5. Provare i 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

Tutte le "trascrizioni" sono le mie "esperienze" che ho acquisito facendo di tutto nel tempo libero.

I contenuti di questo sito sono stati prodotti da me, e possono essere ridistribuite sotto licenza Creative Commons BY-NC-ND 3.
In qualsiasi caso gradirei essere contattato...

Enrico Bassetti - Contattami
Ultimo aggiornamento: 03/07/2008

Valid XHTML 1.0 Transitional Level A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0 Creative Commons License
Attribuzione - Non Commerciale - No opere derivate 3.0 Generico