1

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

この後、このようなURLを実行しました。

リモートサーバーの ip/xmlrpc_client

(.htaccessを使用してindex.phpを削除しました。入力する必要はありません)

結果はこんな感じ、

リモート サーバーから「200 OK」応答を受信しませんでした。(HTTP/1.1 404 が見つかりません)

サーバー コードを実行すると、 remoteserver の ip/xmlrpc_server は次のようになります。

この XML ファイルには、スタイル情報が関連付けられていないようです。ドキュメントツリーを以下に示します。

つまり、

$this->xmlrpc->send_request()

このリクエストは失敗しました

と反響した

echo $this->xmlrpc->display_error();

問題は何ですか?

あ、別の質問があります。

この codeigniter xmlrpc クラスを使用する前に、xmlrpc php 拡張機能をインストールする必要がありますか?

4

1 に答える 1

0

解決しました!問題は、リモート サーバーのファイアウォールでした。

于 2013-07-18T06:32:33.420 に答える