Interrogation de WebLogic via un Web Service

Pour pouvoir administrer WebLogic nous devons passer par JMX, ce qui est fastidieux.
Je vous propose donc ici de créer un Service Web permettant l’interrogation de WebLogic.

J’ai au préalable installé un WebLogic 10.3.6 avec OEPE (Oracle Enterprise Pack for Eclipse).
J’ai bien sûr créer un domaine de développement me permettant de tester mon application.

Je lance OEPE et je crée un package fr.free.sebastien.colas.ws

Ensuite de crée une classe java nommée Infos.java

J’écris le code se connectant sur le server JMX et qui selectionne les MBean Runtime de WebLogic:

package fr.free.sebastien.colas.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import javax.naming.InitialContext;

@WebService
public class Infos {

	@WebMethod
	public String getMBeanValue(String name,String attributes) throws Exception
	{
		Object o=null;

		InitialContext ic;

		ic = new InitialContext();
		MBeanServer server=(MBeanServer)ic.lookup("java:comp/env/jmx/runtime");
		o=server.getAttribute(new ObjectName(name), attributes);
			
		if (o!=null) return o.toString();
		else return null;
	}
}

Je génère le Service Web:

Je déploie et je teste:

Pour fonctionner mon Service Web à besoin du WebLogic Object Name et de l’attribut souhaité.
Le mieux c’est de lancer WLST puis sous runtime() aller chercher le nom de l’objet avec cmo et le nom de l’attribut avec ls()

Vous pouvez télécharger l’application ici: WebServices.ear