Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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.80 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 = RPC::XML::Client->new( '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 = RPC::XML::Server->new( 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 email@example.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 * etc/make_method Make the build reproducible by dropping timestamps in make_method output. (Niko Tyni) * t/40_server.t * t/40_server_xmllibxml.t * t/50_client.t Fixes for test problems with Strawberry Perl. * lib/RPC/XML/Client.pm Fix leak caused by failing to free Expat parser. We don't want to return from the method until the parser's been freed. We therefore need to call $parser->release() before the return statements caused by request failures. (Tom Grimwood-Taylor) * lib/RPC/XML/Server.pm One socket-opt change, one typo corrected. * lib/RPC/XML.pm Applied patch for numeric regexes and critic cleanup. Addresses GitHub pull request #10 and RT #111636. * t/60_net_server.t RT #99578: Work-around fix for Net::Server+IO::Socket::IP. If a system's IPv6 declaration of localhost was before the IPv4 declaration in the hosts file, this test would fail.