NAME
XML::RPC::Fast - Faster implementation for an XML-RPC client and server (based on XML::RPC)
VERSION
Version 0.01
SYNOPSIS
Generic usage
use XML::RPC::Fast;
my $server = XML::RPC::Fast->new( undef, [ %PARAMS ] );
my $client = XML::RPC::Fast->new( $uri, [ %PARAMS ] );
Create a simple XML-RPC service:
use XML::RPC::Fast;
my $rpc = XML::RPC::Fast->new(
undef, # the url is not required by server
external_encoding => 'utf8',
internal_encoding => 'koi8r', # any encoding, accepted by Encode
);
my $xml = do { local $/; <STDIN> };
length($xml) == $ENV{CONTENT_LENGTH} or warn "Content-Length differs from actually received";
print "Content-type: text/xml; charset: utf-8\n\n";
print $rpc->receive( $xml, sub {
my ( $methodname, @params ) = @_;
return { you_called => $methodname, with_params => \@params };
} );
Make a call to an XML-RPC service:
use XML::RPC::Fast;
my $rpc = XML::RPC::Fast->new(
'http://your.hostname/rpc/url'
internal_encoding => 'koi8r', # any encoding, accepted by Encode
);
my $result = $rpc->call( 'examples.getStateStruct', { state1 => 12, state2 => 28 } );
DESCRIPTION
XML::RPC::Fast doing the same as XML::RPC does, but uses XML::Parser to parse xml, so it is faster on big data structures. The supported options is almost the same, as XML::RPC have, so refer to its documentation. There are also have been made beautifications in error handling. Errors in this module is more verbose and self-descriptive. Below are list of options, that are differs from XML::RPC and XML::TreePP;
SPECIFIC OPTIONS
internal_encoding
Specify the encoding you are using in your code. By default option is undef, which means flagged utf-8 For translations is used Encode, so the list of accepted encodings fully derived from it.
external_encoding
Specify the encoding, used inside XML container. By default it's utf-8; Uses Encode for translations.
no_xml_parser
Specific option. If set, Use XML::TreePP for XML parsing, instead of XML::Parser in some place. But why then you need this module? XML::Parser does the same.
BUGS
Bugs reports and testcases are welcome.
See http://rt.cpan.org to report and view bugs.
COPYRIGHT & LICENSE
Copyright (c) 2008 Mons Anderson, all rights reserved. Based on XML::RPC
v0.8 (c) 2007-2008 Niek Albers
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Mons Anderson, <mons@cpan.org>