Codeigniter XML-RPC示例代码问题

时间:2013-07-17 00:14:07

标签: codeigniter xml-rpc

尝试运行Codeigniter用户指南XML RPC示例代码。

这是代码

xmlrpc_client.php

<?php

 class Xmlrpc_client extends CI_Controller {

function index()
{
    $this->load->helper('url');
    $server_url = site_url('xmlrpc_server');

    $this->load->library('xmlrpc');

    $this->xmlrpc->server($server_url, 80);
    $this->xmlrpc->method('Greetings');

    $request = array('How is it going?');
    $this->xmlrpc->request($request);

    if ( ! $this->xmlrpc->send_request())
    {
        echo $this->xmlrpc->display_error();
    }
    else
    {
        echo '<pre>';
        print_r($this->xmlrpc->display_response());
        echo '</pre>';
    }
}}?>

xmlrpc_server.php

<?php

 class Xmlrpc_server extends CI_Controller {

function index()
{
    $this->load->library('xmlrpc');
    $this->load->library('xmlrpcs');

    $config['functions']['Greetings'] = array('function' => 'Xmlrpc_server.process');

    $this->xmlrpcs->initialize($config);
    $this->xmlrpcs->serve();
}


function process($request)
{
    $parameters = $request->output_parameters();

    $response = array(
                        array(
                                'you_said'  => $parameters['0'],
                                'i_respond' => 'Not bad at all.'),
                        'struct');

    return $this->xmlrpc->send_response($response);
}}?>

在此之后,我像这样运行了网址。

remoteserver的ip / xmlrpc_client

(我使用.htaccess删除了我的index.php,不需要输入它)

结果是这样的,

未收到远程服务器的“200 OK”响应。 (未找到HTTP / 1.1 404)

如果我运行服务器代码, remoteserver的ip / xmlrpc_server 它就是这样说的。

此XML文件似乎没有与之关联的任何样式信息。文档树如下所示。

这意味着,

$这 - &GT; xmlrpc-&GT; send_request()

此请求失败

并回应

echo $ this-&gt; xmlrpc-&gt; display_error();

知道问题是什么?

哦,我有另一个问题。

在使用此codeigniter xmlrpc类之前,是否必须安装xmlrpc php扩展?

1 个答案:

答案 0 :(得分:0)

解决!问题是远程服务器的防火墙。