Perlコーディング初心者質問スレ Part 45

このエントリーをはてなブックマークに追加
833nobodyさん
php+pearで
server.php
<?
require_once 'XML/RPC/Server.php';
$map = array('test' => array('function' => 'test') );
$svr = new XML_RPC_Server($map);
function test($param) {
return new XML_RPC_Response(new XML_RPC_Value('OK'), "string");
}
?>

client.php
<?
require_once("XML/RPC.php");
$value = new XML_RPC_Value(
array("test" => new XML_RPC_Value("test", 'string')),'struct');
$msg = new XML_RPC_Message('test', array($value) );
$client = new XML_RPC_Client("/", "example.com", 80);
$response = $client->send($msg);
echo $contents = XML_RPC_decode( $response->value()) ;

では、問題なく動作するのですが、クライアントをperlで
#!/usr/bin/perl -w
use XMLRPC::Lite;
my $rpc = XMLRPC::Lite->new;
my $url = 'http://example.com/';
my $contents;
$rpc->proxy($url);
my $res = $rpc->call( "test",{ test => "test" });
print $contents = $res->result;
とすると、Unknown methodになります。
どこが間違っているのでしょうか?