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 )