### RETRIEVE LICENSE DETAILS ################################################### my @keylist = (); # Application returned license list (limited to ArrayMax elements) # call APP SOAP APP_SystemKeys method with required parameters my $vpsxkeylist = $soap->VPSX_SystemKeys( SOAP::Data->type('string')->name('SessID')->value($sessionID), SOAP::Data->type('string')->name('VPSID')->value($vpsx), ); # catch errors if ( $appkeylist->fault ) { print "\t* ERROR RETRIEVING VPSX KEYS: INVALID VPSX_SystemKeys PARAMETERS\n\n"; if ($log ne "") { $datestring = localtime(); print LOGFILE "* ERROR RETRIEVING APP KEYS: INVALID APP_SystemKeys PARAMETERS\n"; print LOGFILE "$datestring\n"; } exit(4); } else { print "\n\tPRODUCT EXPIRATION TOTAL AVAILABLE\n\n" if (!$hidestdout); print LOGFILE "\t\tPRODUCT EXPIRATION TOTAL AVAILABLE\n" if ($log ne ""); @keylist = @{ $appkeylist->result }; foreach my $key (@keylist) { my $keyname = $key->{Name}; my $keyexpr = $key->{Expiration}; my $keycount = $key->{Count}; my $keyavailable = $key->{Available}; if ($keycount == "-1") {$keycount = "UNLIMITED"}; if ($keyavailable == "-1") {$keyavailable = "UNLIMITED"}; $keyname = sprintf("%-32s", $keyname); $keyexpr = substr($keyexpr,0,10); $keycount = sprintf("%-9s", $keycount); $keyavailable = sprintf("%-9s", $keyavailable); print "\t$keyname $keyexpr $keycount $keyavailable\n" if (!$hidestdout); print LOGFILE "\t\t$keyname $keyexpr $keycount $keyavailable\n" if ($log ne ""); if ($debug and !$hidestdout) { $smtp = Net::SMTP->new($mailhost, Debug => 1); } else { $smtp = Net::SMTP->new($mailhost); } eval { $smtp->mail($mailfrom) || die("$!\n"); if ($smtp->to(split(/,/, $mailto))) { $smtp->data(); $smtp->datasend("Subject: License File Status Report\n"); $smtp->datasend("\n"); $smtp->datasend("\t \n"); $smtp->dataend(); } else { print "\tERROR SENDING EMAIL, RUN WITH DEBUG FOR MORE INFO: ", $smtp->message(); print "\tCHECK MAIL KEYWORDS: mailhost=$mailhost | mailfrom=$mailfrom | mailto=$mailto\n\n"; print LOGFILE "ERROR SENDING EMAIL, RUN WITH DEBUG FOR MORE INFO: ", $smtp->message() if ($log ne ""); print LOGFILE " RUN WITH DEBUG, CHECK MAIL KEYWORDS: mailhost=$mailhost | mailfrom=$mailfrom | mailto=$mailto\n" if ($log ne ""); } }; if ($@) { print "\tERROR SENDING EMAIL, RUN WITH DEBUG FOR MORE INFO\n"; print "\tCHECK MAIL KEYWORDS: mailhost=$mailhost | mailfrom=$mailfrom | mailto=$mailto\n\n"; print LOGFILE "ERROR SENDING EMAIL, RUN WITH DEBUG FOR MORE INFO\n" if ($log ne ""); print LOGFILE " CHECK MAIL KEYWORDS: mailhost=$mailhost | mailfrom=$mailfrom | mailto=$mailto\n" if ($log ne ""); } } $smtp->quit; }