Retrieving UM License Information Programmatically

Hello,

I am looking for a way to programmatically retrieve Universal Messaging license information in my code. Specifically, I need to access details such as the expiration date, usage, product name, and the path to the license file.

Currently, I don’t believe there is a service similar to wm.server.query:getLicenseDetails or wm.server.query:getTerracottaLicenseInformation for Universal Messaging.
I would be glad to be proven wrong, as that would certainly make things much easier.

Is it possible to retrieve this information through a Java service ?
I couldn’t find anything in the documentation, but I’m sure there must be a way I’m overlooking.

Thank you

You’re right that Universal Messaging (UM) doesn’t have a built-in service like wm.server.query:getLicenseDetails. However, you can try retrieving license details programmatically using Java by accessing the license file directly or using the UM API if available.

  1. Check the License File – If the license is stored in a text/XML file, you can parse it in Java.
  2. Use Universal Messaging API – If UM provides an API for license management, check com.softwareag.um.* packages for relevant methods.
  3. Command-Line Approach – Some UM installations store license details in configuration files (server_common.conf or similar).

If there’s no documented API, you may need to reach out to Software AG support for guidance. Let me know if you find any undocumented methods!

You can use Command Central to update or retrieve the license information for any product. It has terminal commands and a UI as well. It should even be able send a notification if your license is expiring soon (though I might be making this up). You don’t need to write any code at all, but if you really need to do it; you can process the license file using terminal commands as well. UM will always have the same file name and path for the license file so this is more then enough. Just a simple grep command will do if you are running it on linux.

FYI, looks like version 11 doesn’t use any license files. I think using command central is the easiest solution here. Any additional development might be deprecated soon depending on when you update your environment.

Thank you both for your responses—they’re very insightful.

Daniel Reynolds, my initial thought was to retrieve the license file directly after realizing there was no built-in service, but I’d prefer to avoid that approach. I attempted to use the Universal Messaging API but wasn’t sure where to start. Now that you’ve provided the package name, I’ll look into it.

Engin Sarlak, I hadn’t considered doing it that way, but it looks promising. I also noticed that all the data I need appears in the Nirvana log file, so I might explore extracting it from there as well.

Thanks again! If I manage to get it working, I’ll update the post with the solution I used.

FYI, nirvana.log will only have that info during startup. If you need something like an alert, Optimize or CC should be the right place to look for what you need. If your umserver is running in a container, you can also do it on kubernetes I guess.