Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XML::RPC(3)	      User Contributed Perl Documentation	   XML::RPC(3)

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.

       This version of XML::RPC	merges the changes from	XML::RPC::CustomUA.

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).

       You can also define the UserAgent string, for example:

	   my $rpcfoo =	XML::RPC->new($apiurl, ('User-Agent' =>	'Baz/3000 (Mozilla/1.0;	FooBar phone app)'));

METHODS
   $xmlrpc->credentials( 'username', 'password );
       Set Credentials for HTTP	Basic Authentication. This is only secure over
       HTTPS.

       Please, please, please do not use this over unencrypted connections!

   $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
       Original	author:	Niek Albers, http://www.daansystems.com/ Current
       author: Rene Schickbauer, https://www.cavac.at

COPYRIGHT AND LICENSE
       Copyright (c) 2007-2008 Niek Albers.  All rights	reserved.  This
       program

       Copyright (c) 2012-2017 Rene Schickbauer

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.0			  2017-11-21			   XML::RPC(3)

NAME | SYNOPSIS | DESCRIPTION | CONSTRUCTOR AND OPTIONS | METHODS | CUSTOM TYPES | ERROR HANDLING | PROXY SUPPORT | LIMITATIONS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XML::RPC&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help