Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-03-2010 17:19:44

s2pawn
Nouveau membre
Date d'inscription: 16-03-2010
Messages: 7

Json-rpc webservice

Bonjour,

Je développe actuellement un web-service pour une application. Je suis parvenu pour l'instant à utiliser les adapter REST et xmlrpc, mais je rencontre des difficultés avec json.

J'ai commencé, comme pour chaque adapter, par suivre les instructions données dans la doc de  zend, ce qui fonctionne très bien, mais lorsque j'essai de l'adapter à mon application, cela ne fonctionne pas.

Je fais appel au web-service en passant par un Controller (Ws) qui regroupe les différents adapter. Chaque actions du controller me redirige vers un adapter par exemple pour Json : http://...../Ws/json

J’initialise mon Json-rpc dans une fonction run(), qui ce trouve dans la classe de mon adapter json
Le problème est que je ne sais quoi mettre comme url pour le setTarget.

Voici le code que j’utilise :
j'ai commenté le return, ce qui me permet de voir mon "serveur" je vois le contenu de ma classe Ws_handler mais a la fin j'ai une erreur :

Code:

{"result":null,"error":{"code":-32600,"message":"Invalid Request","data":null},"id":null}

Code:

public function run() {
        
        $this->_json = new Zend_Json_Server ();
        $this->_json->setClass ( 'Ws_Handler' );
        
        if ('GET' == $_SERVER ['REQUEST_METHOD']) {
            // Indicate the URL endpoint, and the JSON-RPC version used:
            $this->_json->setEnvelope ( Zend_Json_Server_Smd::ENV_JSONRPC_2 );
            //setTarget('/library/Ws/Adapter/Json.php')->
            

            // Grab the SMD
            $smd = $this->_json->getServiceMap ();
            
            // Return the SMD to the client
            header ( 'Content-Type: application/json' );
            echo $smd;
            
            //return;
        }
        
        $this->_json->handle ();
        exit ();
    }

merci d'avance pour votre aide

ps si je laisse le return il me met fichier introuvable

Hors ligne

 

#2 19-03-2010 09:52:35

s2pawn
Nouveau membre
Date d'inscription: 16-03-2010
Messages: 7

Re: Json-rpc webservice

bon j'ai fini par réussir à faire fonctionner mon webservice

Code:

public function run() {
        
    $this->_json = new Zend_Json_Server ();
    $this->_json->setClass ( 'Ws_Handler' );
        
    if ('GET' == $_SERVER ['REQUEST_METHOD']) {
        // Indicate the URL endpoint, and the JSON-RPC version used:
        $this->_json->setEnvelope ( Zend_Json_Server_Smd::ENV_JSONRPC_2 );                        

        // Grab the SMD
        $smd = $this->_json->getServiceMap ();
            
        // Return the SMD to the client
        header ( 'Content-Type: application/json' );
        echo $smd;
        exit;            
    }
    $this->_json->handle ();
    exit ();
}

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages