Domanda

Sto cercando di ottenere una semplice configurazione del server XMLRPC client / server ma sto avendo problemi con i parametri. Il codice viene eseguito bene se prendo il $ client_id parametro fuori dalla metodo fetchClient () e $ client-> call () . Tuttavia, se mi includo, il server restituisce " Calling parametri non corrispondono firma "

Codice di controllo:

class XmlrpcController extends Zend_Controller_Action
{
    public function init()
    {
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender();
    }

    public function indexAction()
    {
        $server = new Zend_XmlRpc_Server();
        $server->setClass('App_Service_Customer','customer');
        echo $server->handle();
    }
}

App / servizio / Customer.php:

class App_Service_Customer
{
    /**
     * @param int $client_id
     * @return string
     */
    public function fetchCustomer($client_id)
    {
        return 'john doe';
    }
}

Codice Test Cliente:

$client = new Zend_XmlRpc_Client('http://localhost/xmlrpc');
echo $client->call('customer.fetchCustomer', 1);

Tutte le idee?

È stato utile?

Soluzione

Il mancato rispetto. Ho capito il parametro corretto per inserire:

echo $client->call('customer.fetchCustomer', array(array('client_id' => 1)));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top