尝试运行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扩展?
答案 0 :(得分:0)
解决!问题是远程服务器的防火墙。