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 24/01/2008, 14h35   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 7
Points : 2
Points : 2
Par défaut [SOAP] Appel d'un WebService dans PHP

Bonjour ,

je cherche comment appeler un WS (qui tourne sur AXIS2) à partir de PHP j'ai deja trouvé la librairie SOAP ... Mais aucun exemple suffisant parlant pour que j'arrive à le mettre en oeuvre ...

Merci de votre aide

GG

ps : mon code actuel est le suivant

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
*****/
require_once("nusoap/lib/nusoap.php");
$wsdl_url =   'http://server:8080/axis2/services/imcSession?wsdl' ;
$WSDL     = new SOAP_WSDL($wsdl_url); 
$client   = $WSDL->getProxy(); 
//echo $client;
$params   = array(
    'user' => 'toto',
    'pass' => 'tata',
);
$ret_session    = $client->openSession($params);
 
?>
 <HTML>  <HEAD><?php echo $ret_session;  ?> </HTML>  </HEAD>
ggjedi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 16h22   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Dans l'archive que tu télécharges pour avoir nuSoap, il y a plein d'exemples de clients SOAP
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 16h47   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 7
Points : 2
Points : 2
Merci de ta reponse ...
j'avais bien repérer les exemples avec nusoap ... mais dans le genre pas commenté ... on ne fais pas mieux

je me suis basé sur ces exemples pour mon code ... Mais sans succés ...

je ne demande pas une réponse mais une explication sur comment faire ...


GG

ps: mon nouveau code (qui ne fonctionne toujours pas ... )
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
29
30
31
32
33
34
35
36
37
 
require_once('nusoap/lib/nusoap.php');
$proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
$proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
$proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
$proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';
$client = new nusoap_client('http://server:8080/axis2/services/imcSession?wsdl', 'wsdl',
						$proxyhost, $proxyport, $proxyusername, $proxypassword);
$err = $client->getError();
if ($err) {
	echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
// Doc/lit parameters get wrapped
$param = array('user' => 'toto','pass' =>'tata');
$result = $client->call('openSession', array('parameters' => $param), '', '', false, true);
// Check for a fault
if ($client->fault) {
	echo '<h2>Fault</h2><pre>';
	print_r($result);
	echo '</pre>';
} else {
	// Check for errors
	$err = $client->getError();
	if ($err) {
		// Display the error
		echo '<h2>Error</h2><pre>' . $err . '</pre>';
	} else {
		// Display the result
		echo '<h2>Result</h2><pre>';
		print_r($result);
		echo '</pre>';
	}
}
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
?>
ggjedi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 19h18   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par ggjedi Voir le message
mon nouveau code
ça ressemble déjà plus au code que j'ai déjà vu fonctionner
Citation:
Envoyé par ggjedi Voir le message
(qui ne fonctionne toujours pas ... )
qu'est ce que tu obtient à l'affichage ? ne nous montre pas tout de suite ce qu'il y a dans la dernière section "debug", la plupart du temps ce qu'il y avant suffit

autre question : est ce que le WebService fonctionne avec un autre client ?
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 10h22   #5
Invité de passage
 
Inscription : octobre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 7
Points : 2
Points : 2
Sa fonctione maintenant je suis victime du p**ain de cache de IE !!!!


Merci pour ton aide
ggjedi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 10h28   #6
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par ggjedi Voir le message
lorsque j'appel le Web service depuis un navigateur cela fonctionne correctement ...
je parlais d'un autre client SOAP

c'est peut-être le serveur qui pose problème et si tu obtiens une erreur 500 ça confirme surement ça
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2008, 10h36   #7
Invité régulier
 
Inscription : mai 2004
Messages : 10
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 10
Points : 6
Points : 6
Par défaut debugage

Debug tes services avec le logiciel soapui , ca deviendra plus facile
Boon 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 18h03.


 
 
 
 
Partenaires

Hébergement Web