«

»

juil 27 2015

Consommer un Web service .Net avec un client PHP

Cet article explique comment consommez un  Web Services C#.Net avec un client PHP en utilisant la bibliothèque nusoap.
Grâce à la lib nusoap, la mise en place d’un client PHP est relativement simple.

Alors, passons à la pratique, ci-dessous un bout du code en php permet de consommer la méthode HelloUser du Web Service DemoWebServices.

Bien évidemment le script PHP ci-dessous est basé sur la lib nusoap, vous devez mettre les sources de la lib a coté du script et/ou adaptez ensuite le chemin dans le script php.

<?php
// Lib nusoap
require_once('./nusoap-0.9.5/lib/nusoap.php');
$wsdl = "http://localhost/DemoWebServices/DemoWebServices.asmx?WSDL";
ini_set("soap.wsdl_cache_enabled", 0);

$theVariable = array('strUser'=> 'Tawfik NOURI');

// Creation d'un client SOAP
$client = new SoapClient($wsdl,true);
$err = $client->getError();
if ($err)
{
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
exit();
}
// Exécution de la Methode
$result = $client->call('HelloUser',$theVariable);

if ($client->fault)
{
echo '<h2>Fault (Expect - The request contains an invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
}
else
{
$err = $client->getError();
if ($err)
{
echo '<h2>Error</h2><pre>' . $err . '</pre>';
}
else
{
echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>';
}
}
?>

Voici le résultat d’un test dans mon navigateur :

Client_PHP_Demo

Les sources du scripts sont disponible pour téléchargement client_v2

N’hésitez pas à laisser vos commentaires …

A propos de l'auteur

Tawfik

Je suis un test lead automation, consultant et formateur possédant plus de 10 ans d’expérience dans le domaine des
technologies de l’information, développement, tests logiciels, formations professionnelles et plus particulièrement dans l’automatisation de tests en environnement Agile/ ATDD/BDD.