IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Web Service] api soap php comment l'utiliser


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2007
    Messages : 130
    Points : 51
    Points
    51
    Par défaut [Web Service] 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 : 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();
     
    ?>
    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 :

    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 : 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());
     
    ?>
    et la j'ai l'affichage de toutes les fonctions utilisé mais c'est pour la suite que je bloque.

    merci

  2. #2
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2007
    Messages : 130
    Points : 51
    Points
    51
    Par défaut
    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 : 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
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Web services : Client SOAP PHP
    Par clementinemonrency dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 29/09/2015, 12h35
  2. Web services : Client SOAP PHP
    Par clementinemonrency dans le forum Services Web
    Réponses: 0
    Dernier message: 22/09/2015, 18h10
  3. [Web Service][API Twitter] Utilisation
    Par ghaitoute dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 17/05/2010, 18h41
  4. Réponses: 1
    Dernier message: 03/03/2009, 11h09
  5. Réponses: 3
    Dernier message: 05/12/2008, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo