Here is the trick to accessing any of the data you may find on any of the admin web pages within your custom services.
Find the web page that shows the data (i.e. stats-general.dsp).
Open the dsp file with text editor and look for the keyword “invoke” and you will find the webMethods service that the dsp page calls (i.e. wm.server.query:getStats).
There is a trick to calling these services from within your custom flow service because you can not directly browse to them. First step - create a flow step that invokes any service (it does not matter which one). Second step - right click the flow step and select properties. Third step - paste the service that you found in the dsp into the service field and click OK.
Some of the services in the wMRoot package return a ton of stuff. Here is an example of a Java service that I wrote to extract the email settings from wm.server.query:getSettings. If you use this example, you will have to import com.wm.lang.ns.NSName.
The WmRoot package is considered to be wM internal. It isn’t intended to be used by us customers. It isn’t documented. “Reverse engineering” the inputs/outputs to the services, let alone sharing that info with others, most likely violates the license agreement.
watt.sever.errorMail is the email address that receives a notification when a processing error occurs on the server. These are the errors that you would get if you were stepping through the code in Developer, like the nullPointerException types.
This DOES NOT send an email when the server shuts down. To be informed about a server being down would require you to write server (i.e. the box that the IS sits on) logic that pings a specific services. If there is no ping, then the server is down.
Does anyone know the underlining Java code for the getStats service? Specifically, how does it collect free memory information? Does it refer to a wM system database for that?
// Get the maximum memory addressable by the JVM for the Java heap.
// If the Java memory switches were used to launch the JVM, this should be
// equal to -Xmx.
long maxMemoryMb = runtime.maxMemory() / (1024 * 1024);
// Get the total amount of memory currently allocated to the Java heap.
// If the Java memory switches were used to launch the JVM, this should be
// -Xms <= totalMemoryMb=“”><= -Xmx.=“” long=“” totalMemoryMb=“runtime.totalMemory()” />(1024 * 1024);
// Get the amount of memory allocated to the java heap which is free
// for new object allocation.
long freeMemoryMb = runtime.freeMemory() / (1024 * 1024);
// Calculate the amount of memory used by objects allocated on the Java heap.
long usedMemoryMb = totalMemoryMb - freeMemoryMb;</=>
Is there any way by which I can get the details of packages which have not been used for at least a month, so that I can disable them?
Can any kind of inbuilt service be used be used for this purpose?
I built a very powerful monitoring for ISes invoking some WmRoot packages, especially wm.server.query:getStats.
Am i violating the license agreement if I distribute it ?
I am trying for DSP page which is invoking service “wm.server.query:getStats” and getting result of that particular server.
But I need that one DSP page (keeping this at only one server’s directory) will have result of two different servers.
Is it possible?
Please help me to solve this problem