XML-RPC Contrib
XML-RPC services for TWiki
Introduction
This package allows to register handlers for remote procedures the same way tags are registered to the TWiki engine. The xmlrpc cgi will then call them on request.
XmlRpcContrib
registerRPCHandler($name, $impl)
Register an implementation for a handler
Parameters:
- $name: symbolic method name
- $impl: implementation of a handler for the given method name
dispatch($session, $data)
Process a remote procedure call
Parameters:
- $session: the current TWiki session objecet
- $data: the net data to be processed (optional)
If no data is passed it is requested from the CGI query object. During execution the context
xmlrpc is entered as well as the context of the symbolic method name.
This call will be delegate to
XmlRpcContrib::Server::dispatch and print out its result to STDOUT.
XmlRpcContrib::Server
Light implementation of an XML-RPC server
new(%handler)
Create a new server object
Parameters:
- %handler: hash mapping method names to their implementation
The server is a singleton object in the
XmlRpcContrib namespace.
dispatch($session, $data)
Carry out the procedure call
Parameters:
- $session: the current TWiki session object
- $data: xml request data
This will call the method implementation if available or return an error if not available. A method must implement the interface
($status, $error, $result) = handleRPCCall($session, $requestargs)
where:
- $session: is the current TWiki session object
- $requestargs: is an array of methods parameters
The handler must return an array ($status, $error, $result) where
- $status: string representation of the status
- $error: error code
- $result: the procedure's result data
If $error is null, a response is created using $result if it is an RPC::XML object already, or create an RPC::XML::string from it. If $error is a non-null value a server error occured and an RPC::XML::fault object is respondend (see
getError()).
getResponse($status, $data)
Create a well-formated
RPC::XML::response that can be printed to STDOUT on completion
Parameters:
- $status: response status value
- $data: net data
returns the formatted response
getError($status, $error, $data)
Creates a
RPC::XML::fault object using the $error and its $data and returns the formatted error response.
Settings
- Set SHORTDESCRIPTION = XML-RPC services for TWiki
- Set STUB = %$STUB%
Installation Instructions
- Download the ZIP file
- Unzip it in your twiki installation directory. Content:
| File: | Description: |
bin/xmlrpc | server cgi |
data/TWiki/XmlRpcContrib.txt | contrib topic |
lib/TWiki/Contrib/XmlRpcContrib.pm | perl module |
lib/TWiki/Contrib/XmlRpcContrib/Server.pm | server module |
- possibly enable/secure the xmlrpc in
bin/.htaccess so that it gets recognized as a cgi script at least
Contrib Info