Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
RPC::XML - An implementation of XML-RPC Version: 0.76 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 firstname.lastname@example.org 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 * etc/make_method * lib/RPC/XML/Server.pm RT #70258: Fixed typos in docs pointed out by Debian team. * lib/Apache/RPC/Server.pm Better version of the fix for infinite loops. This is the patch originally suggested by the Eric Cholet, who found the bug. * t/00_load.t RT #70280: This test was still testing RPC/XML/Method.pm. Rewrote to remove that but include the (forgotten) XMLLibXML.pm module. That test has to be conditional on the presence of XML::LibXML. * Makefile.PL * t/51_client_with_host_header.t Clean up test suite to work with older Test::More. Also specify a minimum Test::More that supports subtest(). This is also a part of RT #70280. * t/11_base64_fh.t * t/20_xml_parser.t * t/21_xml_libxml.t * t/40_server.t These tests had failures when run as root. Permissions-based negative tests were incorrectly passing. * t/10_data.t Moved the 64-bit "TODO" tests to a SKIP block. Non-64-bit systems will skip, rather than fail, these tests. * lib/RPC/XML/Server.pm RT #65616: Fix for slow methods killing servers. Applied and modified patch from person who opened the ticket. * MANIFEST * lib/RPC/XML.pm * t/10_data.t * t/14_datetime_iso8601.t (added) RT #55628: Improve flexibility of date parsing. This adds the ability to pass any ISO 8601 string to the RPC::XML::datetime_iso8601 constructor.