perl Catalyst XMLRPC

こんな感じでたてて、

package Hoge::Controller::Xmlrpc;
use strict;
use warnings;
use base 'Catalyst::Controller';

sub default : Global {
    my ( $self, $c ) = @_;

    $c->xmlrpc;
}

sub hoge : XMLRPC("method.hoge") {
    my ( $self, $c, $message ) = @_;

    return $message;
}

1;

こんな感じでアクセス。

  1 use strict;
  2 use warnings;
  3 use XMLRPC::Lite;
  5
  6 my $url      = "http://hoge.com/xmlrpc/";
  7 print  XMLRPC::Lite
  8         ->proxy($url)
  9         ->call(
 10             'method.hoge',
 11             "Hello World",
 12         )->result;

楽。

実は、SLのXMLRPCをクライアントだと勘違いして立ててしまった orz

http://search.cpan.org/~sri/Catalyst-Plugin-XMLRPC-1.0/lib/Catalyst/Plugin/XMLRPC.pm