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 18/10/2011, 18h06   #1
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
Par défaut api soap php comment l'utiliser

bonjour,

sur mon serveur j'ai installé dnpanel qui fournis une api soap afin d'utiliser une autre interface externe que celle du dnpanel pour mettre a jour les clients.

je vais être honnête c'est la première fois que je met les doigts dans les api soap.

donc j'ai un répertoire nommé soap avec :

soap (index.php / api.wdsl / rep.fonctions => fichier fonctions.php)

dans l'index j'ai :

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
 
//--
 
include("fonctions/fonctions.php");
 
//-- Recuperation des parametres du panel
 
$requete			= $mysql -> sql_query("SELECT * FROM `".MYSQL_BASE."`.`pn_parametres` WHERE id = '1'",NULL,SERVEUR_SELECT);				
$DataParametres 	= $mysql -> sql_fetch_array($requete);
 
//--
 
ini_set("soap.wsdl_cache_enabled", 0);
ini_set('default_socket_timeout', 200);
 
//--
 
$soap = new SoapServer("api.wsdl", array('location' => "http://".$DataParametres['hostname']."/panel/soap/",
                                     	'uri'     	=> "http://".$DataParametres['hostname']."/panel/soap/"));
 
//-- Liste des fonctions
 
$functions = array("ConnexionAdmin","EmailListBoite","EmailAddBoite","EmailDeleteBoite","EmailGetInfoBoite","HttpListDomain","HttpAddDomaine","HttpAddSousDomaine","HttpDeleteDomaine","HttpDeleteSousDomaine","HttpUpdateDomaine","HttpUpdateSousDomaine","HttpDomaineInfo","HttpSousDomaineInfo","MySQLListDataBase","MySQLAddDataBase","MySQLDeleteDataBase","FtpAddAccount","FtpListAccount","FtpDeleteAccount","FtpUpdateAccount","CronList","CronDelete","CronAdd","AddAccount","SeachIDDomaineByDomaine","EmailDeleteBoite","EmailUpdateBoite","DNSAddZoneDNS");  
$soap->addFunction($functions); 
$soap->handle();
 
?>
ce que je cherche a faire c'est que les infos que j'ai dans mon formulaire soit transmises au serveur via cette api.

message de dnpanel :

Citation:
L'API Fonctionne en SOAP de php

L'url du WSDL est http://hostname.com/panel/soap/api.wsdl

Existe-t-il une API afin de créer les comptes depuis notre propre interface ?

Oui, DNPanel dispose d'une API SOAP complète vous permettant de réaliser toutes les actions du panel depuis n'importe quelle application distante.
merci pour vos lumières car la je suis dans le noir le plus complet.


---------------------------------------------

j'ai ajouté : print_r($soap); dans l'index

et j'obtient :

SoapServer Object ( [service] => Resource id #8 )

j'ai potassé un peu les tutos sur php soap et je voit qu'il faut un serveur web et un client.

j'imagine que le serveur web est le index.php cité plus haut
et le client j'ai mis ceci :

client.php
Code :
1
2
3
4
5
6
7
8
<?php
 
$wsdl_url =
  "api.wsdl";
$client     = new SoapClient($wsdl_url);
var_dump($client->__getFunctions());
 
?>
et la j'ai l'affichage de toutes les fonctions utilisé mais c'est pour la suite que je bloque.

merci
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 15h35   #2
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
j'ai don eu des infos par le fournisseur de l'api sauf que tout est ok et j'ai :

HTTP: Could not connect to host

j'ai fais un echo et le host est bon, je regarde sur la bdd :

id = 1 login = admin passe = mon passe

tout est bon mais il ne veut pas ce connecter.

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
<?php
 
//--
 
include("fonctions/fonctions.php");
 
//-- Recuperation des parametres du panel
 
$requete			= $mysql -> sql_query("SELECT * FROM `".MYSQL_BASE."`.`pn_parametres` WHERE id = '1'",NULL,SERVEUR_SELECT);				
$DataParametres 	= $mysql -> sql_fetch_array($requete);
 
 
//--
 
ini_set("soap.wsdl_cache_enabled", 0);
ini_set('default_socket_timeout', 200);
 
//--
 
$soap = new SoapServer("api.wsdl", array('location' => "http://".$DataParametres['hostname']."/panel/soap/",
                                     	'uri'     	=> "http://".$DataParametres['hostname']."/panel/soap/"));
 
//-- Liste des fonctions
 
$functions = array("ConnexionAdmin","EmailListBoite","EmailAddBoite","EmailDeleteBoite","EmailGetInfoBoite","HttpListDomain","HttpAddDomaine","HttpAddSousDomaine","HttpDeleteDomaine","HttpDeleteSousDomaine","HttpUpdateDomaine","HttpUpdateSousDomaine","HttpDomaineInfo","HttpSousDomaineInfo","MySQLListDataBase","MySQLAddDataBase","MySQLDeleteDataBase","FtpAddAccount","FtpListAccount","FtpDeleteAccount","FtpUpdateAccount","CronList","CronDelete","CronAdd","AddAccount","SeachIDDomaineByDomaine","EmailDeleteBoite","EmailUpdateBoite","DNSAddZoneDNS");  
$soap->addFunction($functions); 
$soap->handle();
 
 
?>

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//---- envoie au panel
 
//--- connexion
try
{
$server = "http://www.servrtx.net/panel/soap/api.wsdl";
$session = array ("login" => "admin", "passe" => "*********");
$soapclient = new SoapClient($server, array('encoding'=>'iso-8859-1'));
}
catch(SoapFault $e)
{
echo "{$e->faultcode}: $e->faultstring";
}
?>
adresse du fichier wsdl : http://www.servrtx.net/panel/soap/api.wsdl

mon php info : http://www.servrtx.net/info.php

correct ...

auriez vous une idée ?

thank
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h51.


 
 
 
 
Partenaires

Hébergement Web