29 lines
689 B
Perl
29 lines
689 B
Perl
#!/usr/bin/perl -w
|
|
|
|
use strict;
|
|
use Carp;
|
|
use XML::RPC;
|
|
use MyCGI;
|
|
use OpenSim::Utility;
|
|
use OpenSim::UserServer;
|
|
|
|
my $param = &MyCGI::getParam();
|
|
my $request = $param->{'POSTDATA'};
|
|
&OpenSim::Utility::Log("user", "request", $request);
|
|
my $xmlrpc = new XML::RPC();
|
|
my $response = $xmlrpc->receive($request, \&XMLRPCHandler);
|
|
&OpenSim::Utility::Log("user", "response", $response);
|
|
&MyCGI::outputXml("utf-8", $response);
|
|
|
|
sub XMLRPCHandler {
|
|
my ($methodname, @param) = @_;
|
|
my $handler_list = &OpenSim::UserServer::getHandlerList();
|
|
if (!$handler_list->{$methodname}) {
|
|
Carp::croak("?");
|
|
} else {
|
|
my $handler = $handler_list->{$methodname};
|
|
$handler->(@param);
|
|
}
|
|
}
|
|
|