■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

XMLRPCのプラグイン作成

s-sugamura > XMLRPCのプラグイン作成 @ 2013/6/20 19:16
初めて投稿させていただきます。

--------------------
BaserCMSのバージョン:2.1.1
レンタルサーバー名:独自
スマートURLの利用:OFF
設置フォルダ:サブフォルダ
利用しているデータベース:MySQL
PHPスキル(自己評価):B

OSの種類:Windows8/ZAMPP 1.7.1
PHPのバージョン:5.2.9
データベース種類・バージョン:MySQL 5.1
--------------------

XMPRPCによる投稿をやりたいと思っています。
http://scripts.incutio.com/xmlrpc/basic-server-construction.php
のサイトからIXRを取得し、サンプルを参考にプラグインを作成しているのですが、うまくいきません。

以下プラグインコードです。
App::import('Controller', 'Plugins');
class XmlrpcController extends PluginsController {
var $name = 'Xmlrpc';
var $uses = array('Plugin', 'Content');
var $components = array('BcAuth','Cookie','BcAuthConfigure');
function index() {
Configure::write("debug", 1);
$this->autoRender = false;

include('IXR_Library.inc.php');

$server = new IXR_Server(array(
'demo.sayHello' => 'this:sayHello',
'demo.addTwoNumbers' => 'this:addTwoNumbers'
));
}
function sayHello($args) {
return 'Hello!';
}
function addTwoNumbers($args) {
$number1 = $args[0];
$number2 = $args[1];
return $number1 + $number2;
}
}

プラグインの登録は完了しており、ブラウザからアクセスすると
XML-RPC server accepts POST requests only.
とメッセージがでます。
XMLRPCクライアントを作成して、アクセスすると
object(XML_RPC2_ReceivedInvalidStatusCodeException)#3 (6) {
["message:protected"]=>
string(52) "Curl returned non 200 HTTP code: 302. Response body:"
とエラーがでます。

XMLクライアントはPEARを使用しています。
以下クライアントです。
require_once("./XML/RPC2/Client.php");

$prefix = 'demo.'; // プレフィックス
$encoding = 'sjis'; // 文字エンコーディング
$uri = 'http://127.0.0.1/~basercms/index.php/xmlrpc/index';
$options = array('prefix' => $prefix, 'encoding' => $encoding);
$client = XML_RPC2_Client::create($uri, $options); // XML-RPXクライアントの生成

$entry_id = 0; // ブログ記事ID
$user = 'admin'; // ウェブサービスのユーザー名
$pass = 'password'; // ウェブサービスのパスワード

try {
$result = $client->sayHello($entry_id, $user, $pass); // API起動
var_dump($result);
} catch (Exception $e) {
var_dump($e);
}


$serverを作成したあと、functionをコールする際にパラメータが受け取れない。もしくは返答が返せないのではと想像していますが、追い方が判らないのでまだ判断できていません。

この方法の解決または別の方法でも良いのですが、何か良いアイディアはありませんか?

よろしくお願いします。
s-sugamura > Re: XMLRPCのプラグイン作成 @ 2013/6/21 8:59
自己レスです。

昨晩考えてみたら、CakePHPの方の質問に気づきました。
本来ここに挙げるべきではありませんでした。お詫び申し上げます。

ちなみに上記の解決方法としてはCakePHPにXMLRPCのライブラリがあったので、これでテストする予定です。
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
20 人のユーザが現在オンラインです。 (20 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 20