draggi.net :: Blog technique et pense bête informatique générale et open source

Index | Aller au contenu | Aller au menu | Aller à la recherche

PHP

jeudi, avril 19 2007

PHP5 :: NUSOAP :: Cannot redeclare class soapclient in nusoap.php

Le problème viens du fait que PHP5 intègre les webservices et a donc déjà en lui une méthode soapclient.
Pour corriger ce problème, RDV dans le répertoire d'install des library nusoap (faire un find sur /class.soapclient.php)

éditer le fichier nusoap.php et remplacer toutes les occurences de soapclient par nusoapclient:
  • exemple avec vi : :%s/soapclient/nusoapclient
Puis renommer la class soap client class.soapclient.php en /class.nusoapclient.php

Et normalement cela règle le problème.

mardi, juin 27 2006

Faire cohabiter PHP4 et PHP5 en même temps sur deux serveurs APACHE

Si vous avez un serveur sous PHP5, executant une application qui n'est pas compatible avec la derniere version
de php en date PHP5.1, vous pouvez opter pour la solution LAMPP, en faisant tourner deux apaches sous deux port different: ex 80 et 8080

lundi, avril 3 2006

Interroger un web service ASP.NET en PHP avec la library SOAP de PEAR

Pré requis: Avant d'interroger un web service via PHP, vous avez besoin d'une library, celle que j'ai utilisé est la library SOAP,
depuis les class PEAR. Le web service suppose qu'il n'a pas besoin de connection par authentification user/password, pour être consommé.

On commence par appeller la classe pear SOAP :

require_once('SOAP/Client.php');

Puis, on configure une variable avec l'adresse du certificat WSDL:

$wsdl_url = 'http://www.draggi.net/mon_web_service_dot_net.asmx?WSDL';

On instancie la classe en lui passant d'une part l'URL du webservice, et d'autre part des paramètres
(ici on rallonge le time out au cas ou le webservice met du temps à répondre).

$WSDL = new SOAP_WSDL($wsdl_url,array("timeout" => 360));

Au besoin nous ajoutons les paramètres à poster au webservice par exemple du xml:

$params= 'toto';

Enfin on envoie la requête à la fonction dans le webservice:

$XML_response = $client->la_fonction_du_web_services($params);

Voila on print le tableau de réponse :

print_r($XML_response);