[Catalyst] Catalyst and XMLRPC

Dmitry Latin dim0xff at gmail.com
Tue Nov 8 11:21:29 GMT 2011


Hello, Bill!

> 
> I use RPC::XML directly.  I added a dispatcher and a HTTP::Body class for
> decoding the XMLRPC.  For the most part the same controllers handle the
> XMLRPC requests and the web requests (they look the same).
> 
After some thought I've came to following scheme:

In controller (suppose, MyApp::Controller::RPC::Root) create an action for page ('/xmlrpc').
There we will get xmlrpc request from client and then serialize XML data (from $c->req->body) to HASH.
Next create a private actions for XMLRPC methods with the same name.
So for example
1. XMLRPC method get_data will correspond to MyApp::Controller::RPC::Root::get_data
2. XMLRPC method example.get_data will correspond to MyApp::Controller::RPC::Root::Example::get_data

Thus we will need to setup searching for corresponding methods and controllers and share data via stash.

So there is a working example: https://github.com/dim0xff/Catalyst-XMLRPC-Example
XMLRPC working via XML::RPC::Fast

Is it right way?

Thank you!

-- 
//wbr, Dmitry Latin



More information about the Catalyst mailing list