Pregunta

Estoy tratando de conseguir una configuración de servidor XMLRPC sencilla cliente / servidor, pero estoy teniendo problemas para usar parámetros. El código funciona bien si tomo el parámetro $ client_id fuera de la Método fetchClient () y $ cliente-> call () . Sin embargo, si lo incluyo, el servidor devuelve " Parámetros de llamada no coincide con la firma "

Código de control:

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();
    }
}

Aplicación / Servicio / Customer.php:

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

Código de Pruebas de cliente:

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

¿Alguna idea?

¿Fue útil?

Solución

El desconocimiento. Me di cuenta el parámetro correcto a la entrada:

echo $client->call('customer.fetchCustomer', array(array('client_id' => 1)));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top