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][SOAP] Débutant PHP/NuSOAP [Fait]


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Par défaut [Web Service][SOAP] Débutant PHP/NuSOAP
    Bonjour à tous,

    Je débute en php/nuSoap et j'ai un pb avec le script basique proposé sur le site de nuSoap.

    J'ai créé un fichier hello.php dans le répertoire basicService
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
      require_once("nusoap.php");
      $server = new soap_server;
      $server->register('hello');
     
      function hello($name)
      {
       return "Hello $name !";
      }
     
      $server->service($HTTP_RAW_POST_DATA);
    ?>
    et un fichier call.php dans le répertoire basicCall
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
     
      require_once('nusoap.php');
      $client = new soapclient('http://127.0.0.1/basicService/hello.php');
      echo $client->call('hello', array('name'=>'Dietrich'));
    ?>
    lorsque je charge la page call.php il n'y a que le mot Array qui s'affiche et pas le 'Hello Dietrich !' attendu.

    Quelqu'un pourrait-il m'expliquer d'où vient le pb ?


    D'avance merci

  2. #2
    Membre éclairé Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Par défaut
    Bon, Apparement il y a un GROS problème avec PHP 5 et NuSoap.
    Le pb mentionné dans mon post se produit avec PHP 5.2.2 et Apache 2.2.4.
    Aprés m'être arraché les cheveux toute la journée , je suis d'abord revenu à la version 2.0.59 de Apache (au cas où). Mais le pb était toujours présent. Je suis ensuite revenu à la version 4.4.7 de PHP, et là miracle... ça marche!!!
    J'avoue que je n'ai pas le courage de réinstaller la version 2.2.4 de Apache pour compléter le test
    mais j'aimerais savoir si il existe un tuto complet sur l'installation de PHP 5 sous Windows.
    Peut être y a t-il une ligne de code à ajouter dans php.ini (ou ailleur) pour que ça fonctionne ?

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Par défaut
    Nusoap et PHP5 sont incompatibles.

    SOAP est implémenté dans PHP5, et fait partie de la SPL. et c'est ce qui explique le fait que ça fonctionne avec PHP4 et non pas PHP5. Le conflit provient principalement des noms des classes.

    Pour résoudre le problème:

    Oubliez Nusoap et utilisez uniquement l'extension SOAP fournie avec PHP5. Elle supporte les normes: soap 1.1 et 1.2 et le WSDL.

  4. #4
    Membre éclairé Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Par défaut
    Ah ok, ben c'est bon à savoir
    Est ce que quelqu'un pourrait me dire alors quel est le code équivalent à l'exemple ci-dessus mais avec l'extension soap de PHP 5 ?
    Je n'ai pas trouvé beaucoup d'exemples

    Merci d'avance

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Par défaut
    un bon exemple en ligne: http://devzone.zend.com/node/view/id/689

    Pour votre cas, ça donnerait:
    Serveur SOAP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    class HelloService {
      function hello($name) {
        return "Hello $name !";
      }
    }
     
    $server = new SoapServer("hello.wsdl");
    $server->setClass("HelloService");
    $server->handle();
    ?>
    Client SOAP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
      $client = new SoapClient("hello.wsdl");
      print($client->hello("dietrich"));
    ?>

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    Bonjour,

    je tiens à préciser que l'on peut faire tourner nusoap sur php5.

    ex :

    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
     
    require("./lib/nusoap.php");
     
     
          $env="aaa";
          $login="bbb";
          $pass="ccc";
     
     
    $wsdl = "http://www.aaaa.fr/services/ddddd.wsdl";
    $client = new soapclient($wsdl,'wsdl');
     
    $param = array(array(
      "env" => $env,
      "login"  => $login,
      "pass" => $pass
      ));
     
    $results = $client->call('getLst',$param,$wsdl);
    print_r($results);
     
    }

    Il faut désactiver l'extension soap de php5. Cependant, il faut faire attention avec les serveurs dédiés de chez ovh (gentoo). L'extension SOAP de PHP5 n'est pas activée par défaut et pour l'installer, c'est une vrai galère...

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Par défaut Webservice sans NUSOAP
    Citation Envoyé par Fincom Voir le message
    un bon exemple en ligne: http://devzone.zend.com/node/view/id/689

    Pour votre cas, ça donnerait:
    Serveur SOAP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    class HelloService {
      function hello($name) {
        return "Hello $name !";
      }
    }
     
    $server = new SoapServer("hello.wsdl");
    $server->setClass("HelloService");
    $server->handle();
    ?>
    Client SOAP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
      $client = new SoapClient("hello.wsdl");
      print($client->hello("dietrich"));
    ?>
    Bonhour,

    pouvez-vous préciser comment s'appellent les 2 fichiers et où ils doivent être placés sur le serveur ?

    Et wue devient le code si on n'a pas de fichier wsdl ?

    Merci.

Discussions similaires

  1. [Web Service][SOAP] client php et web service windev
    Par pev15 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 28/05/2010, 13h48
  2. [Web Service][SOAP] Client PHP et Serveur JAVA
    Par Asfaloth dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/05/2010, 11h19
  3. Appeler un web service SOAP en php avec un client JavaScript
    Par lord.66 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 05/06/2009, 14h04
  4. Appeler un web service SOAP en php avec un client JavaScript
    Par lord.66 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 31/05/2009, 12h42
  5. [Web Service][SOAP] Tableau php et type complexe ?
    Par tintin72 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 18/06/2007, 11h31

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