RPC::XML - An implementation of XML-RPC Version: 0.28 (fourth release) WHAT IS IT The RPC::XML package is an implementation of XML-RPC. The module provides classes for sample client and server implementations, a server designed as an Apache location-handler, and a suite of data-manipulation classes that are used by them. USING RPC::XML There are not any pre-packaged executables in this distribution (except for a utility tool). Client usage will usually be along the lines of: use RPC::XML::Client; ... my $client = new RPC::XML::Client 'http://www.oreillynet.com/meerkat/xml-rpc/server.php'; my $req = RPC::XML::request->new('meerkat.getChannelsBySubstring', 'perl'); my $res = $client->send_request($req); # This returns an object of the RPC::XML::response class. This double-call # of value() first gets a RPC::XML::* data object from the response, then # the actual data from it: my $value = $res->value->value; Running a simple server is not much more involved: use RPC::XML::Server; ... my $srv = new RPC::XML::Server (host => 'localhost', port => 9000); # You would then use $srv->add_method to add some remotely-callable code ... $srv->accept_loop; # Stays in an accept/connect loop BUILDING/INSTALLING This package is set up to configure and build like a typical Perl extension. To build: perl Makefile.PL make && make test If RPC::XML passes all tests, then: make install You may need super-user access to install. PROBLEMS/BUG REPORTS Please send any reports of problems or bugs to rjray@blackperl.com SEE ALSO XML-RPC: http://www.xmlrpc.com/spec The Artistic License: http://language.perl.com/misc/Artistic.html CHANGES See the ChangeLog file for the full details. Much changed in this release, though the majority was on the behind-the-scenes level. A subtle bug in the RPC::XML::string data class was caught. The overall efficiency of the package is starting to be improved. The manipulation and handling of methods within the server classes has been moved to a new, separate class that has resulted in more clarity in the server code. The main change to be aware of in this release is a clarification on how objects in the Apache::RPC::Server class are created with the new() constructor. This only applies to using the code within sections in the Apache configuration. Read it carefully, as it will break any existing code.