Utiliser une page PHP pour communiquer avec un service web WCF

Written by Sebastien Lambot on . Posted in Articles techniques, Divers

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!

Tags: , ,

Trackback from your site.

Leave a comment

You must be logged in to post a comment.