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

 

Les webservices ayant largement évolués depuis la parution de cet article, je vous conseille de vous référer à ce livre pour mettre en place des webservices avec PHP 7 : livre de programmation PHP 7

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
*
*/
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


call('getContacts');

// on affiche la requete

print($client->request);

?>

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

Publicités

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 )

Photo Google+

Vous commentez à l'aide de votre compte Google+. 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 )

w

Connexion à %s