2

我正在尝试进行简单的客户端/服务器 XMLRPC 服务器设置,但在使用参数时遇到了问题。如果我将$client_id参数从fetchClient()方法和$client->call()中取出,代码运行良好。但是,如果我包含它,服务器会返回“调用参数与签名不匹配

控制器代码:

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

应用程序/服务/客户.php:

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

客户端测试代码:

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

有任何想法吗?

4

1 回答 1

2

漠视。我想出了正确的输入参数:

echo $client->call('customer.fetchCustomer', array(array('client_id' => 1)));
于 2009-11-19T23:04:39.787 回答