Utiliser une page PHP pour communiquer avec un service web WCF
Faites communiquer votre serveur PHP avec un service web existant sur un serveur Windows Communication Foundation
Avant de commencer, vous devez disposer de l’url de votre service web. Prenons par exemple:
http://www.monsite.be/monservice.svc
Le XML décrivant le service web et ses fonctionnalités devrait donc se trouver à l’adresse suivante:
http://www.monsite.be/monservice.svc?wsdl
Le service web met à disposition des méthodes utilisables à distance. Pour notre exemple, nous avons créé dans WCF la méthode SendMessage (string Message) qui renvoit une string contenant « Hello « +Message.
Pour notre serveur PHP, nous utilisons la dernière version de MAMP (équivalent de WAMP sous Windows et XAMP sous Linux), qui est composée d’un serveur Apache, d’un serveur MySQL et d’un serveur PHP 5.3.2. Les modules DOM et SOAP dont nous aurons besoin sont inclus et activés par défaut.
Il ne nous reste plus qu’à créer le cript PHP qui utilisera SOAP pour accéder au service web. Attention toutefois aux paramètres qui doivent être passés à la méthode via un array.
<?php try { $client = new SoapClient('http://www.monsite.be/monservice.svc?wsdl'); $params->Message = 'World !'; $return = $client->SendMessage($params); print 'Message received: ' . $return; } catch (Exception $e) { print 'Caught exception: ' . $e->getMessage() . "n"; } ?>
En exécutant votre script PHP, vous devriez donc obtenir une page avec le message « Message received: Hello World!
Trackback from your site.