vsoapd
view release on metacpan or search on metacpan
sbin/vsoapc view on Meta::CPAN
show_help($action);
} else {
my %opts = create_opts($keyword, $action);
## Now translate the options into SOAP::Data objects in a magical way
my @params = hash2soap(%opts);
if ($debug) {
print "SOAP params: ";
use Data::Dumper; print Dumper \@params;
}
# Do action
my $soap_auth = SOAP::Header->name("authinfo", $authinfo);
#my $soap_auth = SOAP::Data->name("authinfo", $authinfo);
my $call = #$soap
SOAP::Lite->uri($uri)->proxy($proxy)
-> call("$keyword\_$action", $soap_auth, @params);
if ($debug) {
print "\$call: "; use Data::Dumper; print Dumper $call;
}
my @results = $call->valueof("//results");
sbin/vsoapc view on Meta::CPAN
return @params;
}
sub show_help
{
my $keyword = shift;
if (not $keyword) {
my @keywords = #$soap
SOAP::Lite->uri($uri)->proxy($proxy)
-> call ('get_keywords', SOAP::Header->new(authinfo => $authinfo))
-> valueof('//keywords');
if ($debug) {
print "Keywords: ";
use Data::Dumper; print Dumper \@keywords;
}
foreach my $key (@keywords) {
#if ($debug) { print "Key: "; use Data::Dumper; print Dumper $key; }
my $descr = $key->{description} || 'No description';
sbin/vsoapc view on Meta::CPAN
print "Options marked with '*' are required.\n";
if ($debug) {
use Data::Dumper; print Dumper $soap;
$log->log(LOG_DEBUG, "Service: %s / %s", $service, $soap->service);
}
my @actions = #$soap
#SOAP::Lite->service($service)
SOAP::Lite->uri($uri)->proxy($proxy)
-> call ('get_actions', SOAP::Header->name(authinfo => $authinfo),
SOAP::Data->name('keyword' => $keyword))
-> valueof('//actions');
if ($debug) {
print '@actions: ';
use Data::Dumper; print Dumper \@actions;
}
foreach my $action (@actions) {
my $descr = $action->{description} || 'No description';
printf ("%8s - %s\n", $action->{action}, $descr);
my @options = #$soap
SOAP::Lite->uri($uri)->proxy($proxy)
-> call ('get_options', SOAP::Header->new(authinfo => $authinfo),
SOAP::Data->name('keyword' => $keyword),
SOAP::Data->name('action' => $action->{action}))
-> valueof('//options');
foreach my $option (@options) {
next if $option eq '';
my $descr = $option->{description} || 'No description';
printf("\t%-16s %s - %s\n",
"--".$option->{option},
($option->{required}? '*': ' '),
$descr);
sbin/vsoapc view on Meta::CPAN
# Create options from meta data and options list.
sub create_opts
{
my $keyword = shift;
my $action = shift;
$log->log(LOG_DEBUG, "Creating options for $keyword | $action");
my @options = #$soap
SOAP::Lite->uri($uri)->proxy($proxy)
-> get_options (SOAP::Header->name('authinfo' => $authinfo),
SOAP::Data->name('keyword' => $keyword),
SOAP::Data->name('action' => $action)
)
-> valueof('//options');
if ($debug) {
print "Raw options: ";
use Data::Dumper; print Dumper \@options;
}
( run in 0.293 second using v1.01-cache-2.11-cpan-454fe037f31 )