Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Services Web
Services Web Forum d'entraide pour les services Web en PHP, qui permettent de créer et de consommer facilement des webservices (génération de WSDL etc.). Exemples : SOAP, NuSOAP, REST, SCA-SDO... Avant de poster -> Cours webservices
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2007, 16h52   #1
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 107
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 107
Points : 26
Points : 26
Par défaut [SOAP] Problème Web Service

Bonjour à tous!

Ayant découvert les web services depuis peu, j'essaie d'en créer un en local.
J'ai suivi plusieur tutoriel (notamment celui-la)

J'ai recopier le fichier wsdl ainsi que le fichier HelloWebServ.php pour tester:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
<?php
 
// première étape : désactiver le cache lors de la phase de test
ini_set("soap.wsdl_cache_enabled", "0");
 
// on indique au serveur à quel fichier de description il est lié
$serveurSOAP = new SoapServer('HelloYou.wsdl');
 
// ajouter la fonction getHello au serveur
$serveurSOAP->addFunction('getHello');
 
// lancer le serveur
if ($_SERVER['REQUEST_METHOD'] == 'POST')
 
{
	$serveurSOAP->handle();
}
else
{
	echo 'désolé, je ne comprends pas les requêtes GET, veuillez seulement utiliser POST';
}
 
function getHello($prenom, $nom)
{
	return 'Hello ' . $prenom . ' ' . $nom;
}
?>
Et le client correspondant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?php
 
// première étape : désactiver le cache lors de la phase de test
ini_set("soap.wsdl_cache_enabled", "0");
 
// lier le client au fichier WSDL
$clientSOAP = new SoapClient('HelloYou.wsdl'));
 
// executer la methode getHello
echo $clientSOAP->getHello('Marc','Assin');
 
?>
Cependant j'obtiens une erreur à cette ligne (dans le fichier HelloWebServ.php) :
$serveurSOAP = new SoapServer('HelloYou.wsdl'); => Class 'SoapServer' not found!
J'ai pourtant bien ajouter le module soap dans le php.ini (extension=php_soap.dll), celui-ci est bien présent quend je tape php --modules!

Faut-il ajouter autre chose?
Merci d'avance.
goddet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2007, 10h12   #2
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 107
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 107
Points : 26
Points : 26
Bon en fait j'ai encore fait une connerie!
J'ai 2 fichiers php.ini (un dans C:\wampApache2\bin et un autre dans C:\wamp\php) et j'ai édité le mauvais!
Donc voila tout roule maintenant!
goddet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h17.


 
 
 
 
Partenaires

Hébergement Web