Guest User

Untitled

a guest
Jul 16th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. #!/usr/bin/env perl
  2. package XMLRPCTest;
  3.  
  4. use strict;
  5. use warnings;
  6.  
  7. use local::lib '~/local/';
  8.  
  9. use POE::Component::Server::XMLRPC;
  10. use POE;
  11. use MooseX::POE;
  12. with qw/MooseX::POE::Aliased/;
  13.  
  14. use Data::Dumper;
  15. #use Storable;
  16. #use MIME::Base64;
  17.  
  18. has 'name' =>
  19. (
  20. is => 'rw',
  21. isa => 'Str',
  22. required => 1,
  23. );
  24.  
  25. sub START {
  26. my $self = shift;
  27. $self->alias($self->name);
  28. POE::Component::Server::XMLRPC->new( alias => "xmlrpc", port => 32080 );
  29.  
  30. $poe_kernel->post( xmlrpc => publish => $self->name => "query" );
  31. print STDERR "Setting up service\n";
  32. }
  33.  
  34. sub STOP {
  35. my $self = shift;
  36. $poe_kernel->post( xmlrpc => rescind => $self->name => "query" );
  37. print STDERR "Shutting down service\n";
  38. }
  39.  
  40. event 'query' => sub {
  41. # should be [OBJECT, ARG0, ...]
  42. my ($self, $transaction) = @_[OBJECT, ARG0];
  43. my $params = $transaction->params();
  44. print STDERR "Params: " . Dumper($params) . "\n";
  45. $transaction->return("I like chunky bacons");
  46. };
  47.  
  48. no MooseX::POE;
  49.  
  50. package main;
  51.  
  52. use POE;
  53. my $foo = XMLRPCTest->new(name => 'bacons');
  54.  
  55. $poe_kernel->run;
Add Comment
Please, Sign In to add comment