Skip to end of metadata
Go to start of metadata

The following PHP script is used to generate a new license key from the License Pool.

Make sure you specify the following variables:

  • Username ($USERNAME)
  • Password ($PASSWORD)
  • License Pool key ($LICENSEPOOLKEY)
  • License type ($LICENSETYPE)
  • Number of virtual servers ($VIRTUAL_SERVERS)
  • Number of physical servers ($PHYSICAL_SERVERS)
<?php
include 'xmlrpc.inc';
date_default_timezone_set('America/Chicago');

try{
#### User Settings Start ####
## For this example the user should only have to change these settings
	$USERNAME = "username";
	$PASSWORD = "password";
	$LICENSEPOOLKEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX";
	$LICENSETYPE = "Enterprise Edition (Win)";
	$VIRTUAL_SERVERS = '1';
	$PHYSICAL_SERVERS = '1';
#### User Settings End ####

#### Common Settings Start ####
	$accOwner = $USERNAME;
	$accPass = $PASSWORD;
	$licPool = $LICENSEPOOLKEY;
#### Common Settings End ####

#### Create Client Start ####
	$client = new xmlrpc_client('https://api.r1soft.com/xmlrpc');
	$client->setCredentials($accOwner, $accPass);
	$client->setSSLVerifyPeer(false);
#### Create Client End ####

#### Make RPC Call Start ####
	$xmlrpc_msg = new xmlrpcmsg('licensing.createPooledLicense', array(
        new xmlrpcval($LICENSEPOOLKEY, "string"),
        new xmlrpcval($LICENSETYPE, "string"),
        new xmlrpcval(
        array(
        "Virtual Servers" =>  new xmlrpcval($VIRTUAL_SERVERES, "int"),
        "Physical Servers" => new xmlrpcval($PHYSICAL_SERVERS, "int")
        ), "struct"),
  ),"array"
  );
	$reply = $client->send($xmlrpc_msg);
#### Make RPC Call End ####

#### Process Reply Start ####
	if (!$reply) {
		print "Could not connect to HTTP server.";
	} elseif ($reply->faultCode()) {
		print "XML-RPC Fault #" . $reply->faultCode() . ": " .
        $reply->faultString();
	} else  {
		$val = $reply->value();
		$arr = php_xmlrpc_decode($val);
		print_r($arr);
	}
#### Process Reply End ####
}
catch (Exception $ex){
	echo "Exception happened \n";
	echo $ex;
}

?>

Response Example

Here is an example of a response to the XML-RPC request:

Array ( [Enabled] => 1 [License Pool ID] => 45345345354-345345-345-345-3453453453 [Product] => Enterprise Edition (Win) [Type] => Pooled License [Installed] => [ID] => 4353453-324234-234-912342312-23423424 [Physical Servers] => 1 )

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.