blog sur le développement web, jquery,css3, Magento, Symphony, php et bien d'autres choses

image creer web services php

Cet article est un petit pense bête pour expliquer simplement comment créer un service web. Nous allons donc voir comment retourner un tableau d’informations en php.

1 – telecharger la librairie NuSOAP

2 – Création de l’objet serveur et définition de l’objet à renvoyer dans la réponse, notre tableau


/**
* Coté serveur
*
*/
<?php
// on inclut la librairie que l'on a téléchargé
include('lib/nusoap.php');
//on crée l'objet server
$serveur = new soap_server
$serveur->wsdl->addComplexType(
'Contact',
'complexType',
'struct',
'all','',
array(
'nom' => array('name' => 'nom', 'type' => 'xsd:string'),
'prenom' => array('name' => 'prenom', 'type' => 'xsd:string'),
'web' => array('name' => 'web', 'type' => 'xsd:string'),
'tel' => array('name' => 'tel', 'type' => 'xsd:int'),
)
);

$serveur->wsdl->addComplexType(
'ContactArray',
'complexType',
'array','',
'SOAP-ENC:Array',array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Contact[]')
),
'tns:Contact'
);

// on définit la méthode qui sera appelé par le client
$serveur->register('getContacts',
array(), //pas de paramètre en entré
array('Contact' => 'tns:ContactArray')
);

// on implémente la méthode

function getContacts() {
$result = array();
$req="SELECT * FROM `Contacts`";
$res=mysql_query($req);
while($obj=mysql_fetch_object($res)) {
$result[] = array( 'nom' => $obj->nom, 'prenom' => $obj->prenom,'email'=>$obj->email, 'tel'=>$obj->tel);
}
return $result;
}
?>

et l’appel coté client


<?php

/**

* Coté client

*

*/

require_once('lib/nusoap.php');

// url du fichier qui contient le code que l'on a définit juste avant

 $serverpath ='http://url-vers-le-fichier-php-du-web-service';

$client = new soapclient($serverpath);

// on appelle la fonction get client

$result = $client->call('getContacts');

// on affiche la requete

print($client->request);

?>

Pour cet article, j’ai complété cette source : www.jkraft.fr

Commentaires sur: "PHP web services : comment créer un service web php avec soap" (1)

  1. Merci pour ce tuto

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s