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

FreeBSD Manual Pages


home | help
Frontier::Responder(3)User Contributed Perl DocumentatioFrontier::Responder(3)

       Frontier::Responder - Create XML-RPC listeners for normal CGI processes

	use Frontier::Responder;
	my $res	= Frontier::Responder->new( methods => {
							add => sub{ $_[0] + $_[1] },
							cat => sub{ $_[0] . $_[1] },
	print $res->answer;

       Use Frontier::Responder whenever	you need to create an XML-RPC listener
       using a standard	CGI interface. To be effective,	a script using this
       class will often	have to	be put a directory from	which a	web server is
       authorized to execute CGI programs. An XML-RPC listener using this
       library will be implementing the	API of a particular XML-RPC
       application. Each remote	procedure listed in the	API of the user
       defined application will	correspond to a	hash key that is defined in
       the "new" method	of a Frontier::Responder object. This is exactly the
       way Frontier::Daemon works as well.  In order to	process	the request
       and get the response, the "answer" method is needed. Its	return value
       is XML ready for	printing.

       For those new to	XML-RPC, here is a brief description of	this protocol.
       XML-RPC is a way	to execute functions on	a different machine. Both the
       client's	request	and listeners response are wrapped up in XML and sent
       over HTTP. Because the XML-RPC conversation is in XML, the
       implementation languages	of the server (here called a listener),	and
       the client can be different. This can be	a powerful and simple way to
       have very different platforms work together without acrimony. Implicit
       in the use of XML-RPC is	a contract or API that an XML-RPC listener
       implements and an XML-RPC client	calls. The API needs to	list not only
       the various procedures that can be called, but also the XML-RPC
       datatypes expected for input and	output.	Remember that although Perl is
       permissive about	datatyping, other languages are	not. Unforuntately,
       the XML-RPC spec	doesn't	say how	to document the	API. It	is recomended
       that the	author of a Perl XML-RPC listener should at least use POD to
       explain the API.	 This allows for the programmatic generation of	a
       clean web page.

       new( OPTIONS )
	   This	is the class constructor. As is	traditional, it	returns	a
	   blessed reference to	a Frontier::Responder object. It expects
	   arguments to	be given like a	hash (Perl's named parameter
	   mechanism).	To be effective, populate the "methods"	parameter with
	   a hashref that has API procedure names as keys and subroutine
	   references as values. See the SYNOPSIS for a	sample usage.

	   In order to parse the request and execute the procedure, this
	   method must be called. It returns a XML string that contains	the
	   procedure's response. In a typical CGI program, this	string will
	   simply be printed to	STDOUT.

       perl(1),	Frontier::RPC2(3)


       Ken MacLeod <> wrote	the underlying RPC library.

       Joe Johnston <> wrote an	adaptation of the
       Frontier::Daemon	class to create	this CGI XML-RPC listener class.

perl v5.24.1			  2002-08-03		Frontier::Responder(3)


Want to link to this manual page? Use this URL:

home | help