Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

XML::RPC

Name XML::RPC
Version 0.9
Located at /usr/share/perl5
File /usr/share/perl5/XML/RPC.pm
Is Core No
Search CPAN for this module XML::RPC
Documentation XML::RPC
Module Details XML::RPC

NAME

XML::RPC -- Pure Perl implementation for an XML-RPC client and server.


SYNOPSIS

make a call to an XML-RPC server:

    use XML::RPC;
    my $xmlrpc = XML::RPC->new('http://betty.userland.com/RPC2');
    my $result = $xmlrpc->call( 'examples.getStateStruct', { state1 => 12, state2 => 28 } );

create an XML-RPC service:

    use XML::RPC;
    use CGI;
    my $q      = new CGI;
    my $xmlrpc = XML::RPC->new();
    my $xml    = $q->param('POSTDATA');
    print $q->header( -type => 'text/xml', -charset => 'UTF-8' );
    print $xmlrpc->receive( $xml, \&handler );
    sub handler {
        my ( $methodname, @params ) = @_;
        return { you_called => $methodname, with_params => \@params };
    }


DESCRIPTION

XML::RPC module provides simple Pure Perl methods for XML-RPC communication. It's goals are simplicity and flexibility. XML::RPC uses XML::TreePP for parsing.


CONSTRUCTOR AND OPTIONS

$xmlrpc = XML::RPC->new();

This constructor method returns a new XML::RPC object. Usable for XML-RPC servers.

$xmlrpc = XML::RPC->new( 'http://betty.userland.com/RPC2', %options );

Its first argument is the full URL for your server. The second argument is for options passing to XML::TreePP, for example: output_encoding => 'ISO-8859-1' (default is UTF-8).


METHODS

$xmlrpc->call( 'method_name', @arguments );

This method calls the provides XML-RPC server's method_name with @arguments. It will return the server method's response.

$xmlrpc->receive( $xml, \&handler );

This parses an incoming XML-RPC methodCall and call the \&handler subref with parameters: $methodName and @parameters.

$xmlrpc->xml_in();

Returns the last XML that went in the client.

$xmlrpc->xml_out();

Returns the last XML that went out the client.


CUSTOM TYPES

$xmlrpc->call( 'method_name', { data => sub { { 'base64' => encode_base64($data) } } } );

When passing a CODEREF to a value XML::RPC will simply use the returned hashref as a type => value pair.


ERROR HANDLING

To provide an error response you can simply die() in the \&handler function. Also you can set the $XML::RPC::faultCode variable to a (int) value just before dieing.


PROXY SUPPORT

Default XML::RPC will try to use LWP::Useragent for requests, you can set the environment variable: CGI_HTTP_PROXY to set a proxy.


LIMITATIONS

XML::RPC will not create ``bool'', ``dateTime.iso8601'' or ``base64'' types automatically. They will be parsed as ``int'' or ``string''. You can use the CODE ref to create these types.


AUTHOR

Niek Albers, http://www.daansystems.com/


COPYRIGHT AND LICENSE

Copyright (c) 2007-2008 Niek Albers. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026