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>