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

Articles tagués ‘webservice’

PHP web services : comment créer un service web php avec soap

 

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