Webservice PHP et flash

Afin de pouvoir créer la partie serveur d'un webservice, nous utiliserons la librairie nusoap.


Code
<?php require_once ('nusoap/lib/nusoap.php'); //Lien vers la librairie nusoap

// Création de l'objet nusoap
$s = new soap_server ( );

// Register a method available for clients


$s->configureWSDL ( 'Monwebservice', 'urn:Monwebservice' );

$s->register ( 'testFonction', // method name
array ("reservation_id" => '' ), // input parameters
array ('return' => '' ), // output parameters
'urn:testFonction', // namespace
'urn:testFonctionwsdl#', // soapaction
'rpc', // style
'encoded', // use
'documentation' ); // documentation


function testFonction($xmlClientId)
{
return "test";
}

// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset ( $HTTP_RAW_POST_DATA ) ? $HTTP_RAW_POST_DATA : '';
$s->service ( $HTTP_RAW_POST_DATA );
?>
Pour rajouter des fonctions, appelez de nouveau la fonction register () de l'objet nusoap. Ecrivez ensuite le corps de la fonction à la suite.

Ajouter une note

PseudoCommentaireNote
benoit Il est conseillé d'envoyer et de retourner du code XML afin de pouvoir être lu par un langage quelconque: php, java, flash... 5/5
Voici l'explication d'une création d'un client soap en php.

Il existe plusieurs manières d'interroger un webservice mais une seule, pour le moment vous sera détaillée.

Prenons un wsdl présent sur notre site:
http://www.webservicex.net/TranslateService.asmx?wsdl



Code

<?php

// URL du WSDL du webservice
$WSDL = "http://www.webservicex.net/WeatherForecast.asmx?WSDL";

//__getFunctions est une fonction disponible par défaut sur tous les webservices
$lesFonctions = $client->__getFunctions ();

foreach($lesFonctions as $fonction)
{
     echo $fonction.'<br /><br />';
}

?>



Résultat

__getFunctions (); //var_dump($lesFonctions); foreach ( $lesFonctions as $fonction ) { echo $fonction . '

'; } ?>


Ici la fonction "__getFunctions ()" Retourne toutes les fonctions disponibles du webservice.

Ajouter une note

PseudoCommentaireNote
benoit Vous pouvez maintenant ajouter une note et un commentaire 5/5
Code //APPEL WEBSERVICE
//Import de la class pour gérer les webservice.
import mx.services.WebService;


var ws:WebService = new WebService("http://lesite.com/serveur.php?wsdl");
var LeResulat:Object = ws.UneFonction();

//Action si tout est ok
LeResulat.onResult = function(wsdlResults:Array) {

//si le resultat est du xml on le traite ainsi
var my_xml:XML = new XML(wsdlResults.toString());
listExcursion.addItem({data:'-1', label:'Choisissez'});
for (var aNode:XMLNode = my_xml.firstChild; aNode != null; aNode=aNode.nextSibling) {
//etc... }
};


Ajouter une note

PseudoCommentaireNote
benoit Voici un petit exemple de client flash 5/5
créé par www.woolpage.com