Skip to content
A Perl implementation of the XML-RPC specification
Perl XProc
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
etc
ex
lib
methods
t
.cvsignore
ChangeLog
MANIFEST
Makefile.PL
README
README.apache
README.apache2
ToDo
spec.in

README

RPC::XML - An implementation of XML-RPC

Version: 0.53

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

Eliminated a warning under 5.00503 from t/40_server.t.

Changes to the opening of files for base64 data to accomodate Perl
5.00503. The old way (passing an undef scalar as the first argument
to open()) doesn't work in that version.

Added a one-byte offset to the filehandle-length tests in the
t/15_serialize.t suite to account for Win-ish systems.

Forgot to tag an newly-opened filehandle with binmode() at one point
in the base64 support within RPC::XML.
Something went wrong with that request. Please try again.