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 :
ce que je cherche a faire c'est que les infos que j'ai dans mon formulaire soit transmises au serveur via cette api.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); ?>
message de dnpanel :
merci pour vos lumières car la je suis dans le noir le plus complet.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.
---------------------------------------------
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
et la j'ai l'affichage de toutes les fonctions utilisé mais c'est pour la suite que je bloque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php $wsdl_url = "api.wsdl"; $client = new SoapClient($wsdl_url); var_dump($client->__getFunctions()); ?>
merci
Partager