61 votes

Comment consommer facilement un service web à partir de PHP

Existe-t-il un outil pour PHP qui peut être utilisé pour générer un code permettant de consommer une service web sur la base de son WSDL ? Quelque chose de comparable au fait de cliquer sur "Add Web Reference" dans Visual Studio ou le plugin Eclipse qui fait la même chose pour Java.

87voto

DavidM Points 8591

En PHP 5, vous pouvez utiliser SoapClient sur le WSDL pour appeler les fonctions du service web. Par exemple :

$client = new SoapClient("some.wsdl");

et $client est maintenant un objet qui possède des méthodes de classe telles que définies dans some.wsdl. Ainsi, s'il y avait une méthode appelée getTime dans le WSDL, il suffirait d'appeler :

$result = $client->getTime();

Et le résultat de cette opération serait (évidemment) dans la variable $result. Vous pouvez utiliser la méthode __getFunctions pour obtenir une liste de toutes les méthodes disponibles.

21voto

pix0r Points 17854

J'ai eu beaucoup de succès avec wsdl2php . Il créera automatiquement des classes enveloppes pour tous les objets et méthodes utilisés dans votre service Web.

10voto

Wally Lawless Points 3205

J'ai utilisé NuSOAP dans le passé. Je l'ai aimé parce que c'est juste un ensemble de fichiers PHP que vous pouvez inclure. Il n'y a rien à installer sur le serveur web et aucune option de configuration à modifier. Il prend également en charge le WSDL, ce qui est un avantage.

2voto

Hoan Points 21

Ce site article explique comment vous pouvez utiliser PHP SoapClient pour appeler un service web api.

1voto

Vaibhav Points 7334

Eh bien, ces fonctionnalités sont spécifiques à un outil que vous utilisez pour le développement dans ces langues.

Vous ne disposeriez pas de ces outils si (par exemple) vous utilisiez le bloc-notes pour écrire du code. Vous devriez donc peut-être poser la question pour l'outil que vous utilisez.

Pour PHP : http://webservices.xml.com/pub/a/ws/2004/03/24/phpws.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X