Frontier::Responder(3pm) User Contributed Perl Documentation Frontier::Responder(3pm)
NAME
Frontier::Responder - Create XML-RPC listeners for normal CGI processes
SYNOPSIS
use Frontier::Responder;
my $res = Frontier::Responder->new( methods => {
add => sub{ $_[0] + $_[1] },
cat => sub{ $_[0] . $_[1] },
},
);
print $res->answer;
DESCRIPTION
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 lis-
tener 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 lan-
guages 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.
METHODS
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.
answer()
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 pro-
gram, this string will simply be printed to STDOUT.
SEE ALSO
perl(1), Frontier::RPC2(3)
<http://www.scripting.com/frontier5/xml/code/rpc.html>
AUTHOR
Ken MacLeod <ken AT bitsko.us> wrote the underlying RPC library.
Joe Johnston <jjohn AT cs.edu> wrote an adaptation of the Frontier::Daemon class to cre-
ate this CGI XML-RPC listener class.
perl v5.8.8 2002-08-03 Frontier::Responder(3pm)
Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-24 04:47 @38.107.179.238 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)