Zend_XmlRpc参数问题

发布于 2024-08-11 15:18:36 字数 1078 浏览 7 评论 0原文

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

控制器代码:

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/Service/Customer.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);

有什么想法吗?

I'm trying to get a simple client/server XMLRPC server setup but I am having trouble using parameters. The code runs fine if I take the $client_id parameter out of the fetchClient() method and $client->call(). However if I include it, the server returns "Calling parameters do not match signature"

Controller Code:

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/Service/Customer.php:

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

Client Testing Code:

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

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吐个泡泡 2024-08-18 15:18:36

漠视。我找到了正确的输入参数:

echo $client->call('customer.fetchCustomer', array(array('client_id' => 1)));

Disregard. I figured out the correct parameter to input:

echo $client->call('customer.fetchCustomer', array(array('client_id' => 1)));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文