Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

111 lines (78 sloc) 3.032 kb
RPC::XML - An implementation of XML-RPC
Version: 0.73
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 2.0: http://www.opensource.org/licenses/artistic-license-2.0.php
The LGPL 2.1: http://www.opensource.org/licenses/lgpl-2.1.php
CHANGES
* MANIFEST
* t/28_parser_bugs_50013.t (deleted)
* t/90_rt50013_parser_bugs.t (added)
Rename of t/28_parser_bugs_50013.t to fit more universal scheme
for test suites that directly address specific RT bugs.
* lib/RPC/XML/Server.pm
* t/90_rt54183_sigpipe.t (added)
RT #54183: Provide handling of SIGPIPE when sending the
response to the client, in case they've terminated the
connection.
* MANIFEST
Forgot to add the new test suite to MANIFEST.
* lib/RPC/XML/Server.pm
Forgot to update the module version number.
* lib/RPC/XML.pm
Fix typo in reftype() call.
* lib/RPC/XML.pm
* t/90_rt54494_blessed_refs.t (added)
RT #54494: Fix handling of blessed references in smart_encode().
* lib/Apache/RPC/Server.pm
* lib/Apache/RPC/Status.pm
* lib/RPC/XML.pm
* lib/RPC/XML/Client.pm
* lib/RPC/XML/Function.pm
* lib/RPC/XML/Method.pm
* lib/RPC/XML/Parser.pm
* lib/RPC/XML/Parser/XMLLibXML.pm
* lib/RPC/XML/Parser/XMLParser.pm
* lib/RPC/XML/ParserFactory.pm
* lib/RPC/XML/Procedure.pm
* lib/RPC/XML/Server.pm
Large-scale code clean-up driven by Perl::Critic. All critic
flags down to severity 1 now removed.
* MANIFEST
Forgot to add t/90_rt54494_blessed_refs.t when it was created.
Jump to Line
Something went wrong with that request. Please try again.