Xml-rpc client call library
This document describes CipUX::RPC::Client version 3.4.0.7
use warnings; use strict; use CipUX::RPC::Client; use version; our $VERSION = qv('3.4.0.0'); my $rpc = CipUX::RPC::Client->new({ url=>'http://localhost:8001/RPC2', client=>'clientname', # name of client version=>'3.4.0.0', # version of client }); if ( $rpc->rpc_ping() ) { print "OK\n" }else{ exit 1; } if ( $rpc->rpc_login() ) { print "OK\n" }else{ exit 1; } # probably do some other calls if ( $rpc->rpc_logout() ) { print "OK\n" }else{ exit 1; } exit 0;
Constructor (Not used at the moment)
Destructor
Retrieve the login (uid) of the rpc client object.
$login = $rpc->get_login();
Set own password.
1|0 = $rpc->rpc_login( { password=>$password } );
Test if the server is up.
1|0 = $rpc->rpc_ping();
Perform a log in.
1|0 = $rpc->rpc_login();
Perform a log out.
1|0 = $rpc->rpc_logout();
Returns the \s-1TTL\s0 via rpc_intern.
$ttl = $rpc->rpc_ttl();
Returns a ticket or 0;
my $ticket = $rpc->rpc_session();
Returns the cache size via rpc_intern.
$integer = $rpc->rpc_cat_module_cache_size();
Returns the cache size via rpc_intern.
$integer = $rpc->rpc_rpc_intern_cache_size();
Returns the cache size via rpc_intern.
$integer = $rpc->rpc_task_cache_size();
Flush the cache via rpc_intern.
0|1 = $rpc->rpc_flush();
Aggregate several check access subcommands.
( $from, $r_hr ) = $rpc->rpc_check_access({ rpcmode => rpc_intern|rpc_info, entity => task | rpc_intern | cat_module scope => single | manifold, subcommand => user_task_access | user_task_access_survey | user_cat_module_access | user_cat_module_access_survey | user_rpc_intern_access | user_rpc_intern_access_survey
param_ar => (rest send as to_ar) });
Helper routine to evaluate calls.
$ok = $rpc->rpcev( 'ping', \&{ $rpc->rpc_ping } ); $ok = $rpc->rpcev( 'login', \&{ $rpc->rpc_login } ); $code = sub { return $rpc->xmlrpc(@_); }; # remains the same $a_hr = $rpc->rpcev 'list', $code, {cmd => 'cipux_task_list_student_accounts'} ); $d_ar = $rpc->extract_data_for_tpl( {answer_hr => $a_hr, use_ltarget=>1} ); print "Students on the system:\n"; foreach my $l (@{$d_ar->{tpl_data_ar}}){ print "\t$l->{$d_ar->{ltarget}}\n";} $ok = $rpc->rpcev( 'logout',\&{ $rpc->rpc_logout }, );
Helper subroutine to executing XML-RPC calls.
($answer_hr, $ticket) = $rpc->xmlrpc({ cmd => 'cipux_task_*|rpc_intern|...', # mandatory login => $login, ticket => $ticket, param_hr => {}, });
Helper subroutine to extract data for using in web templates. Encode it into \s-1UTF-8\s0.
$tpl_data_ar = $rpc->extract_data_for_tpl({answer_hr=>$answer_hr});
CipUX::RPC::Client requires no configuration files or environment variables.
Carp CipUX Class::Std Data::Dumper English Frontier::Client Log::Log4perl Readonly version
None reported.
No bugs have been reported.
See the CipUX webpage and the manual at <http://www.cipux.org>
See the mailing list http://sympa.cipworx.org/wws/info/cipux-devel <http://sympa.cipworx.org/wws/info/cipux-devel>
Christian Kuelker <[email protected]>
Copyright (C) 2009 by Christian Kuelker. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of \s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the \s-1GNU\s0 General Public License for more details.
You should have received a copy of the \s-1GNU\s0 General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, \s-1MA\s0 02111-1307 \s-1USA\s0
\s-1BECAUSE\s0 \s-1THIS\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1LICENSED\s0 \s-1FREE\s0 \s-1OF\s0 \s-1CHARGE\s0, \s-1THERE\s0 \s-1IS\s0 \s-1NO\s0 \s-1WARRANTY\s0 \s-1FOR\s0 \s-1THE\s0 \s-1SOFTWARE\s0, \s-1TO\s0 \s-1THE\s0 \s-1EXTENT\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0. \s-1EXCEPT\s0 \s-1WHEN\s0 \s-1OTHERWISE\s0 \s-1STATED\s0 \s-1IN\s0 \s-1WRITING\s0 \s-1THE\s0 \s-1COPYRIGHT\s0 \s-1HOLDERS\s0 \s-1AND/OR\s0 \s-1OTHER\s0 \s-1PARTIES\s0 \s-1PROVIDE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \*(L"\s-1AS\s0 \s-1IS\s0\*(R" \s-1WITHOUT\s0 \s-1WARRANTY\s0 \s-1OF\s0 \s-1ANY\s0 \s-1KIND\s0, \s-1EITHER\s0 \s-1EXPRESSED\s0 \s-1OR\s0 \s-1IMPLIED\s0, \s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0, \s-1THE\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. \s-1THE\s0 \s-1ENTIRE\s0 \s-1RISK\s0 \s-1AS\s0 \s-1TO\s0 \s-1THE\s0 \s-1QUALITY\s0 \s-1AND\s0 \s-1PERFORMANCE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1WITH\s0 \s-1YOU\s0. \s-1SHOULD\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1PROVE\s0 \s-1DEFECTIVE\s0, \s-1YOU\s0 \s-1ASSUME\s0 \s-1THE\s0 \s-1COST\s0 \s-1OF\s0 \s-1ALL\s0 \s-1NECESSARY\s0 \s-1SERVICING\s0, \s-1REPAIR\s0, \s-1OR\s0 \s-1CORRECTION\s0.
\s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1UNLESS\s0 \s-1REQUIRED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0 \s-1OR\s0 \s-1AGREED\s0 \s-1TO\s0 \s-1IN\s0 \s-1WRITING\s0 \s-1WILL\s0 \s-1ANY\s0 \s-1COPYRIGHT\s0 \s-1HOLDER\s0, \s-1OR\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1WHO\s0 \s-1MAY\s0 \s-1MODIFY\s0 \s-1AND/OR\s0 \s-1REDISTRIBUTE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1AS\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1THE\s0 \s-1ABOVE\s0 \s-1LICENSE\s0, \s-1BE\s0 \s-1LIABLE\s0 \s-1TO\s0 \s-1YOU\s0 \s-1FOR\s0 \s-1DAMAGES\s0, \s-1INCLUDING\s0 \s-1ANY\s0 \s-1GENERAL\s0, \s-1SPECIAL\s0, \s-1INCIDENTAL\s0, \s-1OR\s0 \s-1CONSEQUENTIAL\s0 \s-1DAMAGES\s0 \s-1ARISING\s0 \s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \s-1USE\s0 \s-1OR\s0 \s-1INABILITY\s0 \s-1TO\s0 \s-1USE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 (\s-1INCLUDING\s0 \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0 \s-1LOSS\s0 \s-1OF\s0 \s-1DATA\s0 \s-1OR\s0 \s-1DATA\s0 \s-1BEING\s0 \s-1RENDERED\s0 \s-1INACCURATE\s0 \s-1OR\s0 \s-1LOSSES\s0 \s-1SUSTAINED\s0 \s-1BY\s0 \s-1YOU\s0 \s-1OR\s0 \s-1THIRD\s0 \s-1PARTIES\s0 \s-1OR\s0 A \s-1FAILURE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1TO\s0 \s-1OPERATE\s0 \s-1WITH\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1SOFTWARE\s0), \s-1EVEN\s0 \s-1IF\s0 \s-1SUCH\s0 \s-1HOLDER\s0 \s-1OR\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1HAS\s0 \s-1BEEN\s0 \s-1ADVISED\s0 \s-1OF\s0 \s-1THE\s0 \s-1POSSIBILITY\s0 \s-1OF\s0 \s-1SUCH\s0 \s-1DAMAGES\s0.