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

Zend Framework PHP Discussion :

Mettre en place un serveur REST


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 43
    Par défaut Mettre en place un serveur REST
    Bonjour.

    Je suis en train de monter un serveur REST. Mais j'ai un problème avec Zend_rest_client.

    Voici le code tout bete de mon serveur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function SayHello($qui)
    {
    	return "hello ".$qui;
    }
     
    $server = new Zend_Rest_Server();
    $server->addFunction('SayHello');
    $server->handle();
    Lorsque j'appelle l'url

    http://monserveur/server.php?method=SayHello&qui=max

    J'obtient bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <SayHello generator="zend" version="1.0">
    <response>hello max</response>
    <status>success</status>
    </SayHello>
    Et voic le code de mon client:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    require_once 'Zend/Rest/Client.php';
     
    $client = new Zend_Rest_Client('http://monserveur/server.php');
    $qui="max";
    echo $client->SayHello($qui)->get();
    La j'ai en retour un message très explicite:

    An unknown error occured. Please try again.
    Par contre ca marche très bien si je ne met aucun paramètre (ni dans la fonction SayHello et ni sur le client ($qui)....

    Donc apperement il n'aime pas que je passe des paramètres.....

    Si quelqu'un peut m'aider je suis sous l'eau et je ne comprend pas

    Merci par avance..

  2. #2
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 842
    Par défaut
    Normalement il faut mettre le type des paramètres et du retour en commentaire du style :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /**
     * @param string $qui
     * @return string
     */
     
    function SayHello($qui)
    {
    	return "hello ".$qui;
    }

    Malgré ça moi j'ai toujours l'erreur sur une fonction Zend_Rest_Server, alors que j'en ai fait plein d'autres qui marchent !! Bien sûr fonction rédigée de la même façon et appelée de la même façon aussi... C'est à n'y rien comprendre...

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

  3. #3
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par ovh Voir le message
    Normalement il faut mettre le type des paramètres et du retour en commentaire du style :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /**
     * @param string $qui
     * @return string
     */
     
    function SayHello($qui)
    {
    	return "hello ".$qui;
    }

    Malgré ça moi j'ai toujours l'erreur sur une fonction Zend_Rest_Server, alors que j'en ai fait plein d'autres qui marchent !! Bien sûr fonction rédigée de la même façon et appelée de la même façon aussi... C'est à n'y rien comprendre...
    Bonjour,

    Pour ce qui est des paramètres en commentaire, il me semble que c'est nécessaire pour un serveur XML-RPC mais pas pour un serveur REST ?

  4. #4
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 842
    Par défaut
    Ben dans la doc de Zend ils le mettent en tout cas
    http://framework.zend.com/manual/fr/...st.server.html

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

  5. #5
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 242
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 242
    Par défaut
    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
    31
    32
    Tout d'abord, je remercie l'auteur du topic de m'avoir aider. Je ne savais pas comment construire l'url à appeller. A chaque fois, sur le net, on trouve des appels WS qui ne poitent pas vers un php mais vers un repertoire 
     
    Exemple sur la doc de Zend : 
    $client = new Zend_Rest_Client('http://framework.zend.com/rest');
     
    Je me demandais comment la constuire (mis à part en passant par un index.php) mais je viens de découvrir que l'on peux appeller directement un fichier .php en le précisant dans l'url.
     
     
    Et je tiens à remercier ovh pour m'avoir dépanner en faisant remarquer que les commentaires avait une importance. J'étais loin de me l'imaginer.
     
    L'exemple de neeux qui ne fonctionne pas (parametre when en trop en commentaire)
    <?php
    include "Zend/Rest/Server.php";
     
    /**
     * Say Hello
     *
     * @param string $qui
     * @param string $when
     * @return string
     */
    function SayHello($qui)
    {
    	return "hello ".$qui;
    }
     
    $server = new Zend_Rest_Server();
    $server->addFunction('SayHello');
    $server->handle();
     
     
    ?>
    On obtiens le message suivant :
    Notice: Undefined offset: 1 in /var/www/Zend/Server/Reflection/Function/Abstract.php on line 346
    Fatal error: Call to a member function isOptional() on a non-object in /var/www/Zend/Server/Reflection/Function/Abstract.php on line 346
    En supprimant le when en commentaire, on obtient bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <SayHello generator="zend" version="1.0">
    <response>hello max</response>
    <status>success</status>
    </SayHello>
    Bref merci à vous 2

  6. #6
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 242
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 242
    Par défaut
    j'avais moi aussi un problème en appellant via le client Zend mais apparrement cela semble etre un bug lorsqu'il y qu'un seul argument.


    http://zendframework.com/issues/brow...mment-tabpanel

    En rajoutant 1 deuxième parametre cela fonctionne

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

Discussions similaires

  1. Difficultés à mettre en place un serveur
    Par Invité dans le forum Réseau
    Réponses: 2
    Dernier message: 23/11/2011, 10h24
  2. Mettre en place un serveur SMTP
    Par thebarbarius dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 12/04/2010, 13h16
  3. Mettre en place un serveur / client X
    Par gifffftane dans le forum Mandriva / Mageia
    Réponses: 10
    Dernier message: 16/09/2008, 09h15
  4. Réponses: 6
    Dernier message: 24/12/2007, 00h43
  5. [XP] Mettre en place un serveur Web
    Par namstou3 dans le forum Internet
    Réponses: 9
    Dernier message: 25/10/2007, 14h50

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