Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

La creazione del filmato Flash

Come gestire i Web service all'interno di un filmato Flash con ActionScript
Come gestire i Web service all'interno di un filmato Flash con ActionScript
Link copiato negli appunti

Ora che il Web service è pronto non ci rimane che creare un filmato flash che lo richiami. Flash MX ha introdotto molti nuovi componenti. Tra cui il Web service Connector e le classi Web service.

Vediamo come sfruttarle un web service con un esempio in codice AS (ActionScript):

//importiamo la classe flash
import mx.services.WebService;

//n.b. il componente Web serviceconnector dev'essere nella libreria
//creiamo un istanza "Web service" e carichiamo il WSDL del nostro servizio
//quando viene eseguita questa parte di codice flash scarica il documento wsdl ed elabora la descrizione dei tipi e delle procedure
gestione_utenti_ws = new WebService("http://localhost/esempio.php?wsdl"); //esistono due eventi per gestire la fase di caricamento del wsdl
gestione_utenti_ws.onFault = function(fault){ // <-- l'evento onFault viene richiamato se qualcosa va storto
if(fault.faultCode!=undefined) str="libri_ws [ERROR]["+fault.faultCode+"]"+fault.faultstring;
else str="Si è verificato un errore! [ERROR]:"+fault.faultstring;
trace(str); //se qualcosa va male capiremo il perchè
};
gestione_utenti_ws.onLoad = function(WSDLDocument){ // <-- l'evento onLoad viene richiamato se il WSDL è caricato correttamente

//a questo punto possiamo usare le procedure del Web service.
//effettuiamo una chiamata alla procedura getUserById
utenteCall = _root.gestione_utenti_ws.getUserById(5); //<- passiamo l'id come input (è previsto da questa procedura)
utenteCall.onFault = function(fault) { //se per qualche motivo la procedura dovesse fallire sarà richiamata questa funzione
trace("si è verificato un errore:"+ fault.faultCode + "," + fault.faultstring);
}

//ed ora vediamo cosa succede quando riceviamo il risultato della procedura
utenteCall.onResult = function(result) {

//tutto è andato bene e c'è stato restituito l'utente
trace(result['nome']); // <-- l'array che riceviamo è identico a quello ritornato dalla funzione getUserById di PHP
}
}

Come per il file PHP, anche questo esempio è disponibile per essere scaricato (Fla, Swf e documento HTML) o per essere testato direttamente sui server che ospitano questa guida.

Spero che questo esempio ti si stato utile per capire meglio come funziona un web service e quali sono i vantaggi che offre.

Se hai scaricato l'esempio Flash ricorda di modificare l'url passato alla classe Web Service in modo che punti al documento WSDL del tuo file esempio.php. Considera anche che Flash pone delle limitazioni di sicurezza all'utilizzo del componente webconnector ed alle classi Web service: il servizio deve infatti risiedere nello stesso dominio che offre il file swf. Se il file swf è eseguito direttamente, senza ausilio di un server web, questa limitazione non esiste. Se hai bisogno comunque di uscire dal tuo dominio non c'è problema. Puoi utilizzare un proxySOAP.

Ti consigliamo anche