1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| <?php
require_once ("lib/nusoap.php"); // Appel de nusoap
$NAMESPACE = 'http://localhost';
$server = new soap_server(); // Création d'un nouveau serveur
$server->configureWSDL('MyWebservice', $NAMESPACE); // Configuration du serveur
$server->wsdl->schemaTargetNamespace = $NAMESPACE; // Définition du schema target namespace
$server->wsdl->addComplexType(
'plats',
'complexType',
'struct',
'all',
'',
array(
'id'=> array('name'=>'id','type'=>'xsd:string','use'=>''),
'libelle'=> array('name'=>'author','type'=>'xsd:string','use'=>''),
)
);
$server->wsdl->addComplexType(
'lesplats',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:plats[]')
),
'tns:plats'
);
//fonctions pour manipuler les types
function getPlats()
{
// Connexion à notre base de données.
mysql_connect("localhost","root","") or die ("Could not connect");
mysql_select_db ("restaurant1") or die ("Could not select database");
// Requête MYSQL pour récupérer la liste de tous les commentaires et les stocker dans une variable result.
$request = "SELECT * FROM plats ORDER BY id DESC";
$result = mysql_query($request);
$tab=array();
// Nous parcourons le résultat et nous recopions les commentaires dans un nouveau tableau
$i = 0;
while ($row = mysql_fetch_array($result))
{
$array[$i] = array(
'id' => $row['id'],
'libelle' => $row['libelle'],
);
++$i;
}
return $array;
}
//ajout de plats
function addPlat($id, $libelle)
{
mysql_connect("localhost","root","") or die ("Could not connect");
mysql_select_db ("restaurant1") or die ("Could not select database");
$text = htmlentities($libelle, ENT_QUOTES);
// On ajoute le commentaire
$request =
"
INSERT INTO `plats` ( `id`, `libelle`)
VALUES ('$id', '$libelle')
";
mysql_query($request);
return 0;
}
//enregistrements des methodes
$server->register("getPlats", array(), array('lesplats'=>'tns:lesplats'), $NAMESPACE);
$server->register("addPlat", array('id'=>'xsd:string', 'libelle'=>'xsd:string'), array('return'=>'xsd:int'), $NAMESPACE);
//
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?> |
Partager