Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env perl
- package XMLRPCTest;
- use strict;
- use warnings;
- use local::lib '~/local/';
- use POE::Component::Server::XMLRPC;
- use POE;
- use MooseX::POE;
- with qw/MooseX::POE::Aliased/;
- use Data::Dumper;
- #use Storable;
- #use MIME::Base64;
- has 'name' =>
- (
- is => 'rw',
- isa => 'Str',
- required => 1,
- );
- sub START {
- my $self = shift;
- $self->alias($self->name);
- POE::Component::Server::XMLRPC->new( alias => "xmlrpc", port => 32080 );
- $poe_kernel->post( xmlrpc => publish => $self->name => "query" );
- print STDERR "Setting up service\n";
- }
- sub STOP {
- my $self = shift;
- $poe_kernel->post( xmlrpc => rescind => $self->name => "query" );
- print STDERR "Shutting down service\n";
- }
- event 'query' => sub {
- # should be [OBJECT, ARG0, ...]
- my ($self, $transaction) = @_[OBJECT, ARG0];
- my $params = $transaction->params();
- print STDERR "Params: " . Dumper($params) . "\n";
- $transaction->return("I like chunky bacons");
- };
- no MooseX::POE;
- package main;
- use POE;
- my $foo = XMLRPCTest->new(name => 'bacons');
- $poe_kernel->run;
Add Comment
Please, Sign In to add comment