Denis Pokataev > POE-Component-Server-SimpleXMLRPC-0.02 > POE::Component::Server::SimpleXMLRPC

Download:
POE-Component-Server-SimpleXMLRPC-0.02.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 0.02   Source  

NAME ^

POE::Component::Server::SimpleXMLRPC

DESCRIPTION ^

XML-RPC server based on SimpleHTTP and Frontier::RPC2.

Dispatches incoming requests to CODEREF handlers, using RPC_MAP.

Each request is processed in separate Wheel::Run process, so it

is fork-on-demand model.

SYNOPSIS ^

 use POE qw(Component::Server::SimpleXMLRPC Component::Logger);
 
 POE::Component::Logger->spawn( ConfigFile => 'external_config_file' );
 
 POE::Component::Server::SimpleXMLRPC->new(
    PORT => 5555,
    ADDRESS => '127.0.0.1',
    RPC_MAP => { test => sub { return { res => 'test ok:' } },
    ALIAS => 'HTTPD',
    RECV_SESSION => 'HTTP_GET',
    LOGGER => { SESSION => 'logger', EVENT => 'log' }
 );
 
 $poe_kernel->run();

Look at the example folder for simple example of client and server scripts.

METHODS ^

new

Takes usual options hash, as Po::Co::Server::SimpleHTTP does,

but with few additions.

ALIAS

Optional. Server session alias. Defaulted to 'HTTPD'.

RECV_SESSION

Optional. Controller session alias. Defaulted to 'HTTP_GET'.

FUNC_TIMEOUT

Optional. Max time for request processing, in seconds. Defaulted to 120.

RPC_MAP

Required. HashRef of procedures names and their CodeRefs.

LOGGER

Optional. HashRef with SESSION and EVENT names of logger session.

No default logger will be created.

All other options are passed to SimpleHTTP constructor.

_getParamsFromRequest

Internal Simple parser of incoming xml.

EVENTS ^

Server session is a SimpleHTTP server, so refer to it's documentation.

Controller session events:

GOT_default

Internal Main controller session. Parses request, starts wheel::run,

tries to handle errors.

remap

Public Changes RPC_MAP. The only argument must be the same as RPC_MAP -

HashRef of procedures and their CodeRef.

BUGS ^

Should be. Use rt to report.

Tests do not cover all abilities and possible points of failures.

It tests only basic functionality.

AUTHOR ^

Denis Pokataev aka Catone. 2008.

COPYRIGHTS ^

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.