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] debuts en web services NuSOAP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut [Web Service] debuts en web services NuSOAP
    Bonjour, debutant en web services, je rencontre quelques problemes en suivant les tutoriaux.
    Pour simplifier mes premiers tests, j'utilise nusoap.


    Voici mon server
    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
     
    <?php 
       require_once('../lib/nusoap.php'); 
     
     
       $server = new soap_server; 
       $server->register('taxCalc'); 
     
       function taxCalc($rate, $sub) 
       { 
          if($rate == '' || $rate <= 0) 
          { 
             return new soap_fault('Client', '', 'Taks moet groter zijn dan nul.', ''); 
          } 
     
          if($sub == '' || $sub <= 0) 
          { 
             return new soap_fault('Client', '', 'Subtotaal moet groeter zijn dan nul.', ''); 
          } 
     
          return (($rate / 100) * $sub) + $sub; 
       } 
     
       $server->service($HTTP_RAW_POST_DATA); 
       exit(); 
    ?>
    et mon client

    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
    <?php 
       require_once('../lib/nusoap.php'); 
     
       $param = array('rate' => '7', 'sub' => '816'); 
     
       $client = new soapclient('server.php'); 
       $response = $client->call('taxCalc', $param); 
     
       if($client->fault) 
       { 
          echo "Fault: <p>Code: {$client->faultcode}<br>"; 
          echo "String: {$client->faultstring}"; 
       } 
       else 
       { 
          echo "$". $response; 
       } 
    ?>
    A l'execution, j'obtiens que $ .

    Je tiens a preciser que mon serveur a bien php_soap.dll enable
    http://intevit.com/ws/ex2/

    Egalement un autre test qui plante :


    serveur

    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
    <?php
     
    // Pull in the NuSOAP code
    require_once('../nusoap.php');
    function getRot13($pInput){
    $rot = str_rot13($pInput);return($rot);
    }
    function getMirror($pInput){
    $mirror = strrev($pInput);
     
    return($mirror);
    }
     
    // turn off the wsdl cache
    ini_set(“soap.wsdl_cache_enabled”, "0");
     
    $server = new SoapServer("scramble.wsdl");
     
    $server->addFunction("getRot13");
    $server->addFunction("getMirror");
     
    $server->handle();
    ?>

    client

    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
    <?php
    // Pull in the NuSOAP code
    require_once('../lib/nusoap.php');
     
    // turn off the WSDL cache
    ini_set("soap.wsdl_cache_enabled", "0");
    $client = new SoapClient("http://www.joelhainley.com/examples/soap/scramble.wsdl");
     
    $origtext = "mississippi";
     
    print("The original text : $origtext");
    $scramble = $client->getRot13($origtext);
     
     
    print("The scrambled text : $scramble");
     
    $mirror = $client->getMirror($scramble);
    print("The mirrored text : $mirror");
    ?>
    me renvoie The original text : mississippi
    Fatal error: Call to undefined method: soapclient->getrot13() in /homez.221/intevit/www/ws/ex1/client.php on line 12

    url :
    http://intevit.com/ws/ex1/client.php


    merci de l'aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut
    Bonjour,

    Voila juste la petite correction qu'il faut ajouter à l'ex2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $client = new soapclient('http://intevit.com/ws/ex2/server.php');
    Pour l'ex1 je ne trouve pas. Lorsque je lance le fichier du server, il me sort :
    Fatal error: Call to undefined method: soap_server->add() in /homez.221/intevit/www/ws/ex1/server.php on line 21
    Le add_function ne doit pas être definit comme cela.

    Kevin
    Kévin

  3. #3
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut
    comme ca ca marche :
    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
    <?php
    // Pull in the NuSOAP code
    require_once('../lib/nusoap.php');
     
    // turn off the WSDL cache
    ini_set("soap.wsdl_cache_enabled", "0");
    $client = new soapclient('http://intevit.com/ws/ex1/server.php');
     
    $origtext = "mississippi";
     
    print_r("The original text : $origtext");
    $param = array('pInput' => $origtext); 
    $scramble =  $response = $client->call('getRot13', $param); 
     
    echo "</br>";
    print_r("The scrambled text : $scramble");
     
    $mirror = $client->call('getMirror', $param); 
    echo "</br>";
    print_r("The mirrored text : $mirror");
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Web Service][NuSOAP] Poblème d'envoi de paramètres "ComplexType" vers un WS
    Par pudge dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 27/03/2012, 10h11
  2. [Web Service][NuSOAP] Débuter avec un "hello world"
    Par Gregory.M dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 18/04/2011, 12h01
  3. [Web Service][nuSOAP] génération wsdl avec php et les types
    Par ybvj59930 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 06/02/2009, 16h03
  4. [Web Service][NuSOAP] Tableau à 2 dimensions
    Par johandev dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 02/02/2009, 18h00
  5. [Web Service][NuSOAP] Erreur de parsing du XML
    Par binouzzz19 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 28/02/2008, 15h31

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