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 :

Zend_XmlRpc_Server() => erreur 631


Sujet :

Zend Framework PHP

Vue hybride

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 68
    Par défaut Zend_XmlRpc_Server() => erreur 631
    Bonjour,

    J'ai un gros problème avec Zend_XmlRpc_Server().
    Réduit au minimum c'est à dire seulement en déclarant le serveur il me retourne une vilaine erreur de parsing et je ne sais pas pourquoi.

    xmlRPC.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
        require_once 'Zend/XmlRpc/Server.php'; 
     
        // Instantiate server 
        $server = new Zend_XmlRpc_Server(); 
     
        // Handle request 
        echo $server->handle(); 
    ?>
    Result :
    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <methodResponse>
      <fault>
        <value>
          <struct>
            <member>
              <name>faultCode</name>
              <value><int>631</int></value>
            </member>
            <member>
              <name>faultString</name>
              <value><string>Failed to parse request</string></value>
            </member>
          </struct>
        </value>
      </fault>
    </methodResponse>
    Es ce que quel qu'un pourrais me dire pourquoi car là je ne comprend pas.

    Merci d'avance

  2. #2
    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
    Bonjour,

    Je pense simplement qu'il faudrait que tu déclares un service. A quoi pourrait servir un serveur RPC sans rien à demander ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 68
    Par défaut Je l'avais deja fais
    Salut,

    c'était deja fait

    xmlRpc.php (Exemple de base du site de Zend) :
    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
     
    <?php
      require_once 'Zend/XmlRpc/Server.php';
     
      /**
       * Retourne le hash MD5 d'une valeur
       *
       * @param string $value Valeur à hasher
       * @return string Hash MD5 de la valeur
       */
      function md5Value($value) {
        return md5($value);
      }
     
      $server = new Zend_XmlRpc_Server();
     
      $server->addFunction('md5Value');
     
      echo $server->handle();
    ?>
    A moins que j'ai omis quelque chose, mais le résultat reste le même.

    Result :
    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <methodResponse>
      <fault>
        <value>
          <struct>
            <member>
              <name>faultCode</name>
              <value><int>631</int></value>
            </member>
            <member>
              <name>faultString</name>
              <value><string>Failed to parse request</string></value>
            </member>
          </struct>
        </value>
      </fault>
    </methodResponse>
    Au passage je précise que j'utilise le Zend Framework V1.5.3

    Merci quand même pour ta réponse.

  4. #4
    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
    Maintenant que tu as une fonction, il faut passer les bons paramètres à ton serveur (si la requête n'est pas correcte, il est normal qu'il retourne une erreur...).

    Le plus simple, c'est d'utiliser le client de Zend :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    include_once 'Zend/XmlRpc/Client.php';
    $client = new Zend_XmlRpc_Client('http://mon_serveur_xmlrpc');
    echo $client->call('md5Value', array('valeur_a_encoder'));

    Mais si tu veux construire la requête à la main, il faut en passer en post un paramètre qui doit ressembler à :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0"?>
    <methodCall>
       <methodName>md5Value</methodName>
       <params>
          <param>
             <value><string>valeur_a_encoder</string></value>
          </param>
       </params>
    </methodCall>

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 68
    Par défaut Ok
    Ok merci c'est bon ça marche, j'avais mal compris, je pensais qu'on pouvais visualiser la liste des services exposé en accédant simplement à la page...
    Erreur de compréhension en bref.

    Merci beaucoup.

  6. #6
    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
    Si tu veux accéder à la liste des services fournis, la plupart des serveurs proposent les méthodes system.listMethods, system.methodSignature et system.methodHelp.

    La première méthode ne prend pas de paramètre, et renvoie une liste des méthodes du serveur. Les deux autres méthodes prennent en paramètre le nom d'une méthode (pour renvoyer sa signature ou son aide).

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

Discussions similaires

  1. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  2. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49
  3. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  4. erreur IDL:omg.org/CORBA/MARSHAL:1.0
    Par Pinggui dans le forum CORBA
    Réponses: 3
    Dernier message: 13/05/2002, 15h05
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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