The module Frontier::Client can be used for communication via XML-RPC in Perl. You can download the module from http://search.cpan.org/~rtfirefly/Frontier-RPC/lib/Frontier/Client.pm.
Here is an example of how to retrieve the key file for a given license in KA:
use Frontier::Client;
use MIME::Base64;
$login = 'apilogin'; # username for API
$pass = 'apipassword'; # password for API
$url = 'https://kademo.swsoft.com:7050'; # server url
$key = 'PLSK.00052355'; # key to retrieve
$server = Frontier::Client->new( 'url' => $url, 'debug' => 1 );
%authInfo = ( login => $login,
password => $pass);
$results = $server->call('partner10.retrieveKey', \%authInfo, $key);
if($results->{resultCode} != 100){
die("\nError retrieving key: $key\n");
}
$key_number = $results->{keyNumber};
$key_file = decode_base64($results->{key}->value()) . "\n";
open(KEY, ">$key.sh");
print KEY $key_file;
close(KEY);
You can then try and install the Key file to the product.
Note: Your LWP::UserAgent installation needs to support https connections to be able to connect to KA Partner API.