日記
XML-RPCサーバーが腐っていた (16:49)Edit

6/24にPEAR XML-RPCライブラリをアップデート(というかpear upgrade-all)したところ、それ以来1470.netのpingサーバーが腐っていた模様です。XML-RPC 1.3.0からXML-RPC 1.2.2に戻したところ、きちんと受信できるようになりました。PEARの中身まではまだ追いかけてないけど、

require_once 'XML/RPC/Server.php';
function weblogUpdates($msg) {
$value_maps = array(
0 => 'title',
1 => 'url',
2 => 'change_url',
3 => 'category'
);
$params = array();
foreach ($value_maps as $index => $key) {
$param = $msg->getParam($index);
if (!$param) {break;}
$params[$key] = $param->getval();
}
if (updateWebsiteLastModified($params)/* 情報更新 */) {
$error = FALSE;
$error_msg = 'success to recieve your ping!';
} else {
$error = TRUE;
$error_msg = 'fail to recieve your ping!';
}
$value = new XML_RPC_Value(
array(
'flerror' => new XML_RPC_Value($error, 'boolean'),
'message' => new XML_RPC_Value($error_msg)
),
'struct'
);
return new XML_RPC_Response($value);
}
$map = array('weblogUpdates.ping' => array('function' => 'weblogUpdates'));
$server =& new XML_RPC_Server($map);

みたいな感じの、ほとんどPEAR XML-RPCに依存した内容だから、こっちのコードの問題じゃないと思うんだけど。XML-RPC関連はテストがめんどいんだよなー。

Published At2005-06-27 00:00Updated At2005-06-27 00:00