Table of Contents
Toggle- General
- Message format
- User interface requests
- Request: ย GetActiveProducts
- Response: ย GetActiveProducts
- Request: ย GetDenials
- Response: ย GetDenials
- Response: ย getFeaturesList
- Request: ย GetLicenseUsage
- Response: ย GetLicenseUsage
- Response: GetPackageLicenses
- Request: ย GetServerList
- Response: ย GetServerList
- Request: ย GetUserPermission
- Response: ย GetUserPermission
- Request: ย GetVendorList
- Response: ย GetVendorList
- Request: ย LicenseActivity
- Response: ย LicenseActivity
- Request: ย LicensesList
- Response: ย LicensesList
General
The OpenLM system is arranged in a star formation, with the OpenLM Server in its hub. The OpenLM Server interfaces the main user interface, the EasyAdmin web application via HTTP requests. These request messages are sent using the POST method. The request & response message format is XML text.
OpenLM has released a set of open APIs for users who wish to apply the capabilities embedded in the OpenLM software for use in their own applications. These APIs may accommodate querying of the license management system for current and historical license usage, querying available licensesโ status, and license report management.
Message format
The message URL format is:
http://<OpenLM Server>:<Requested port>/OpenLMServer/
OpenLM Server: The OpenLM Server name
Requested port: This is the same port number as defined in the OpenLM Server configuration form, for all user interface requests. Its default value is 7014. See the image below for clarification.
The date format in XML requests & responses is a numeric value, which consists of the
number of milliseconds since 1.1.1970. Date values are always in UTC time zone.
User interface requests
Request: ย GetActiveProducts
Queries for a complete list of currently active products.
MESSAGE
- type: the request name sent to the OpenLM server:GetActiveProducts2
- timeformat & time zone: local date format and time zone settings, as defined by the user.
PAGING
- start record= x ,end record = y : show record numbers x to y from the response. In this example show first 31 records.
- sort=””: Sort by a specific column
- dir=””: Arrange the response in ascendingdescending order, for ascending order: dir=”ASC”. For descending order: dir=”DESC”
SESSION
- sessionId: If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. When the “enable permission” option is disabled, the session id is 0. The “UserAuthentication” request returns the session id number for a specific user.
- refresh: This flag determines whether the EasyAdmin Licenses window should be automatically refreshed.
SERVER
Requests a list of currently used instances of a specific server. In this example – it is ARCGIS10.
VENDOR
Requests a list of currently used instances of a specific vendor. In this example – it isย ArcGIS.ย
FEATURE
Requests a list of currently used instances of a specific feature. In this example – it is ArcScan.
PRODUCT
Requests a list of currently used instances of a specific product. In this example – it is ArcView.
Response: ย GetActiveProducts
MESSAGE
type: The response name sent from the OpenLM server, e.g.: ActiveProducts2
TOTAL
Returns the number of records in the response.
PRODUCTS
- hasp_key Relevant to HASP managed licenses.
- lastname: Last name of user
- firstname:First name of user
- user_idle_time: user’s idle time
- linger_due (for Borrowed licenses): Due date/time for returning a Borrowed license
- linger_time (for Borrowed licenses): Elapsed time since a license has been Borrowed
- borrowed(True/False): License is Borrowed
- quantity: Total number of licenses
- no_of_lics: Number of licenses currently in use
- server_name: License server descriptive name, as given in the OpenLM Configuration form, e.g.: AutoCAD.
- handle: FlexLM license handler TBD
- duration: duration in seconds of the featured license session
- IP: User’s Workstation’s IP
- workstation: workstation name
- start_time: Session start time, represented in UNIX timestamp
- product_name: Product name
- product: Feature name
- vendor:Vendor name
- username: User name
- version: feature version
Request: ย GetDenials
Returns a list of the denials that have occurred .
MESSAGE
- type: the request name sent to the OpenLM server:GetDenials
- timeformat & time zone: local date format and time zone settings, as defined by the user.
PARAMETERS
- PARAM name=”username”: Requests the denials of a specific user, e.g.: mira & n.mani
- PARAM name=”server”: Requests the denials of a specific license server, e.g.:ARCGIS10
- PARAM name=”vendor”: Requests the denials of a specific vendor, e.g.: ARCGIS
- PARAM name=”start_time” & “end time”: Requests the denials which occurred within a specified period of time; between the start time and end time. E.g.: the period between 1327989600000 & 1330336800000.
- Time is represented using the UNIX timestamp. You can use any online converter to convert the start & end time to UNIX time.
- PARAM name=”feature”: Requests the denial instances of the specified feature, e.g.:Viewer.
Response: ย GetDenials
MESSAGE
type: The type of response that is retrieved from the OpenLM server, e.g.:Denials
DENIALS
- lastname: User’s Last name
- firstname: User’s First name
- err_msg: Record error message: Notifying the reason for denial
- port: TBD
- vendor: Vendor name
- feature:Feature name
- server: Server name
- denial_time: Time stamp of the denial occurrance
- workstation: User’s workstation
- user_name: User name
Request: ย getFeaturesList
Queries for a complete list of features registered in the OpenLM database.
MESSAGE
type: the request name sent to the OpenLM server:getFeaturesList
SESSION
sessionId: When the “enable permission” option is disabled, the session id is 0. If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. The “UserAuthentication” request returns the session id number for a specific user.
PARAM
- type=”prefix” Requests all features that start with a specific prefix, in this example: A.
- type=”server” Requests all features of a specific server, in this example: ARCGIS10
- type=”vendor” Requests all features of a specific vendor, in this example: ARCGIS
Response: ย getFeaturesList
MESSAGE
type=”ProductsList”: The response name sent to the OpenLM server, e.g.: ProductsList
PRODUCTS
List of products registered in the OpenLM database. Every instance includes two parameters: Feature name ( name ) and Product name ( product_name).
Request: ย GetLicenseServerList
Queries for a complete list of license servers registered in the OpenLM database.
MESSAGE
- type: the request name sent to the openlm server:GetServersStatistics2
- timeformat & time zone: local date format and time zone settings, as defined by the user.
SESSION
- sessionId: If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. When the “enable permission” option is disabled, the session id is 0. The “UserAuthentication” request returns the session id number for a specific user.
- refresh (True/False): This flag determines whether the EasyAdmin Licenses window should be automatically refreshed.
Response: ย GetLicenseServerList
MESSAGE
type the response name sent to the OpenLM server:ServersStatistics2
SERVER
- id: Server ID
- type: License server type, e.g.: Flexlm .
- name: License server descriptive name, as given in the OpenLM Configuration form, e.g.: AutoCAD
- used: Number of licenses in use
- borrowed: Number of borrowed licenses
- quantity: Total licenses available for this license server
- usage_percent: Number of used licenses as a percentage of the total number of licenses
- lm_status: License server status; green = license server up, red = license server down
- lm_tooltip: The response time-stamp.
- show_buttons: Irrelevant for API developement
HOST
- hostid: The request name sent to the server. In this example, it is GetServersStatistics2
- name: License server hostname, e.g.: olm_lm_acad.
- port: License server port number, e.g.: 27000.
- log_status: redgreen. Red indicates a failure to connect to the OpenLM broker. Greem indicates success.
- log_tooltip:Most recent Broker message sent time
Request: ย GetLicenseUsage
Queries for a list of license usage occurrences.
MESSAGE
- type: the request name sent to the OpenLM server:GetLicenseUsage2
- timeformat & time zone: local date format and time zone settings, as defined by the user.
SESSION
sessionId: If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. When the “enable permission” option is disabled, the session id is 0. The “UserAuthentication” request returns the session id number for a specific user.
PARAMETERS
FEATURE
- server Requests the license usage of a specific server name, In the example: AutoCAD
- vendor Requests the license usage of a specific vendor name, In the example: adskflex
- feature Requests the license usage of a specific feature name, In the example: 65400MAP_F
PARAM
- name=”start_time” & “end time” Queries the usage of licenses within a specified period of time; between the start and end time stamps. In this example, it is the period between 1328680800000 & 1330336800000. Time is represented using the unix timestamp. You can use any online convertor to convert the start & end time to unix time.
- name=”resolution”: Sets the resolution of the response records: MinutesHoursDaysWeeksMonths. In this example, the resolution is Hours.
- name=”separate_charts”: This parameter determines whether the response should be presented as a sum of all licenses, or as separate columns – one per feature.
- name=”ignore_weekends”: truefalse. if true: Ignore license usage records on weekends.
Response: ย GetLicenseUsage
โฆ
MESSAGE
type: The type of response that is retrieved from the OpenLM server. e.g: LicenseUsageInfo
POINTS
- from Record start time, represented in unix timestamp
- from_chart This parameter is relevant only to the chart display in EasyAdmin
- level Number of licenses in use.
- level_chart_0 This parameter is relevant only to the chart display in EasyAdmin
- total: Total number of available licenses
- total_chart_0: This parameter is relevant only to the chart display in EasyAdmin
Request: GetPackageLicenses
Queries for the contents of a specified package
MESSAGE
- type: The request name sent to the OpenLM server:GetPackageLicenses
- timeformat & time zone: Local date format and time zone settings, as defined by the user.
PARAM
PARAM name= “package_no” Queries for the contents of a specified package, In this example the package number is: 17043.
Response: GetPackageLicenses
MESSAGE
type The type of response that is retrieved from the OpenLM server, e.g.:
PackageLicenses
PARAM
type: The param type retrieved from the OpenLM server, e.g.:licenses
info
- name: Feature name
- product_name: Product name
- used: Number of licenses in use
- borrowed: Number of borrowed licenses
Request: ย GetServerList
Queries for a complete list of License Servers registered in the OpenLM database.
MESSAGE
type: the request name sent to the OpenLM server: “GetServersList”
SESSION
sessionId: When the “enable permission” option is disabled, the session id is 0.
If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. The “UserAuthentication” request returns the session id number for a specific user.
Response: ย GetServerList
MESSAGE
type: The type of response that is retrieved from the OpenLM server, e.g.:ServersList
Servers
server name: Server name.
Request: ย GetUserPermission
Queries the session id of a specific user.
MESSAGE
type: The request name sent to the OpenLM server, e.g.:UserAuthentication
NAME:
User’s name
PWD:
User’s password
Response: ย GetUserPermission
MESSAGE
type: The type of response that is retrieved from the OpenLM server, e.g.: SessionAuthenticationID
SESSIONID
The session id number of the queried user.
Request: ย GetVendorList
Queries for a complete list of vendors registered in the OpenLM database.
MESSAGE
type: The request name sent to the OpenLM server: “GetVendorsList”
SESSION
sessionId: When the “enable permission” option is disabled, the session id is 0.
If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. The “UserAuthentication” request returns the session id number for a specific user.
Response: ย GetVendorList
MESSAGE
type: The type of response that is retrieved from the OpenLM server. In this example: “VendorsList”
Vendors
Vendor Name : Specific Vendor name entry in the vendor list.
Request: ย LicenseActivity
Queries for features that have been used and closed in the past
MESSAGE
- type: The request name sent to the OpenLM server:GetUserUsage2
- timeformat & time zone: Local date format and time zone settings, as defined by the user.
PAGING
- start record= x ,end record = y : Show record numbers x to y from the response, in our request show first 31 records.
- sort=””: Sort by a specific column
- dir=””: Arrange the response in ascendingdescending order. for ascending order: dir=”ASC”. for descending order: dir=”DESCโ
SESSION
sessionId: If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. When the “enable permission” option is disabled, the session id is 0. The “UserAuthentication” request returns the session id number for a specific user.
PARAMETERS
- PARAM name=”server”: Filter the license Activity query according to a specific server. In this example – it is ARCGIS10.
- PARAM name=”vendor”: Filter the license Activity query according to a specific vendor , In this example – it is ARCGIS
- PARAM name=”username”: Filter the license Activity query according to a specific user , In this example – it is mira.
- PARAM name=”product”: Filter the license Activity query according to a specific product ,In this example – it is Viewer
- PARAM name=”groupid”: Filter the license Activity query according to a specific group , In this example,no group is defined ( groupid=0)
- PARAM name=”workstation”: Filter the license Activity query according to a specific workstation , In this example – it is mira-pc
- PARAM name=”start_time” & “end time”: Filter the license Activity query according to a specified period of time; between start-time and end-time. In this example, it is the period between 1328594400000 & 1329602400000. Time is represented using the unix timestamp. You can use any online convertor to convert the start & end time to unix time.
- PARAM name=”consider_working_hours”:
- True: Requests license activity entries only within working hours.
- False: Requests license activity entries regardless of working hours.
Response: ย LicenseActivity
MESSAGE
type The type of response that is retrieved from the OpenLM server, e.g.: UserUsage2
Total
Returns the number of records in the response.
PRODUCTS
totalusagetime:
PRODUCT
- ip:User’s Workstation’s IP
- groupname: User’s group name
- projectname: User works on this project
- usagetime: License consumption time
- product_name: Product name
- name: Feature name
- server: License server descriptive name, as given in the OpenLM Configuration form, e.g.: AutoCAD.
- vendor: Vendor name
- end_time: Session start time, represented in unix timestamp
- start_time: Session end time, represented in unix timestamp
- hostname: hostname
- user_name: User’s user name
Request: ย LicensesList
Queries for a complete list of licenses.
MESSAGE
- type: the request name sent to the OpenLM server: GetLicenseServerInfo2
- timeformat & time zone: local date format and time zone settings, as defined by the user.
PAGING
- start record= x ,end record = y : show record numbers x to y from the response, in this example show first 31 records.
- sort=””: Sort by a specific column, in this example :”vendor”
- dir=””: Arrange the response in ascendingdescending order.
- for ascending order: dir=”ASC”. for descending order: dir=”DESCโ
SESSION
- sessionId: When the “enable permission” option is disabled, the session id is 0.
- If the “Enable permissions” check box is selected on the OpenLM server configuration form, then every user recieves their own session id. The “UserAuthentication” request returns the session id number for a specific user.
- refresh: This flag determines whether the EasyAdmin Licenses window should be automatically refreshed.
SERVER
Filter the Query response according to a specified Server. In this example: AutoCAD.
VENDOR
Filter the Query response according to a specified Vendor.
Response: ย LicensesList
MESSAGE
type: The message type retrieved from the OpenLM server. e.g.:LicenseServerInfo2
Total
Returns the number of records in the response.
PARAM
type: The param type retrieved from the OpenLM server. In this example: Licenses
Info
- version: Feature version
- vendor: Vendor name
- name: Feature name
- product_name: Product name
- total: Total number of licenses per specific feature
- used: Number of licenses in use
- borrowed: Number of borrowed licenses
- available: Number of available licenses per specific feature
- server_name: License server descriptive name, as given in the OpenLM Configuration form, e.g.: AutoCAD.
- expiration_date: Feature expiration date, presented in Unix timestamp format
- package_no: Unary identifier of a feature’s parent package, the “GetPackageLicenses” request returns the features under the parent package
- forecolor: Relevant to EasyAdmin web application only.
- hasp_key: Relevant to HASP managed licenses.