Updates the infoRouter application license by writing a new license file. This API is restricted to system administrators. The license data is validated, saved to disk, and the in-memory settings are immediately refreshed.
/srv.asmx/UpdateApplicationLicense
/srv.asmx/UpdateApplicationLicense?authenticationTicket=...&licenseText=.../srv.asmx/UpdateApplicationLicense (form data)http://tempuri.org/UpdateApplicationLicense| Parameter | Type | Required | Description |
|---|---|---|---|
authenticationTicket |
string | Yes | Authentication ticket obtained from AuthenticateUser |
licenseText |
string | Yes | The new license XML content to apply |
<response success="true" />
<response success="false" error="[ErrorCode] Error message" />
IsAdministrator)GET /srv.asmx/UpdateApplicationLicense?authenticationTicket=abc123-def456&licenseText=%3Clicense%3E...%3C%2Flicense%3E HTTP/1.1
Host: server.example.com
POST /srv.asmx/UpdateApplicationLicense HTTP/1.1
Content-Type: application/x-www-form-urlencoded
authenticationTicket=abc123-def456&licenseText=<license>...</license>
POST /srv.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/UpdateApplicationLicense"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateApplicationLicense xmlns="http://tempuri.org/">
<authenticationTicket>abc123-def456</authenticationTicket>
<licenseText><license>...</license></licenseText>
</UpdateApplicationLicense>
</soap:Body>
</soap:Envelope>
async function updateApplicationLicense(licenseText) {
const ticket = getUserAuthTicket();
const response = await fetch("/srv.asmx/UpdateApplicationLicense", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: `authenticationTicket=${encodeURIComponent(ticket)}&licenseText=${encodeURIComponent(licenseText)}`
});
const xmlText = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlText, "text/xml");
const root = xmlDoc.querySelector("response");
if (root.getAttribute("success") === "true") {
console.log("License updated successfully.");
} else {
const error = root.getAttribute("error");
throw new Error(error);
}
}
using (var client = new SrvSoapClient())
{
try
{
var response = await client.UpdateApplicationLicenseAsync(authTicket, licenseXml);
var root = XElement.Parse(response.ToString());
if (root.Attribute("success")?.Value == "true")
{
Console.WriteLine("License updated successfully.");
}
else
{
var error = root.Attribute("error")?.Value;
Console.WriteLine($"Error: {error}");
}
}
catch (Exception ex)
{
Console.WriteLine($"Exception: {ex.Message}");
}
}
license.lic file in the application configuration directory.LicenseInfo, AllowedSessionCountForUser, InstanceName, NativeAuthentationType, and ForceOnline are all reloaded.Common error responses:
| Error | Description |
|---|---|
[901]Session expired or Invalid ticket |
Invalid or expired authentication ticket |
[921]Insufficient rights |
User is not a system administrator |
GetLicenseInfo - Retrieve current license informationServerInfo - Get basic server and license summaryAuthenticateUser - Authenticate and obtain a ticket