En este tutorial vamos aprender a iniciar y cerrar sesión en MicroStrategy con Java y nos servirá como base para los próximos tutoriales que creare para buscar usuarios, inhabilitarlos o lanzar eventos entre otros. Aprender este tutorial es fundamental ya que si se realiza mal, podríamos dejar sesiones abiertas en el servidor o simplemente no conectarnos y nuestro programa no funcionará.
Especificaciones del entorno
- Microsoft Windows 10
- MicroStrategy 2020 update 2
- SDK MicroStrategy 2020
- Eclipse 2019-12
Proyecto Java
Crear el proyecto
- Abre Eclipse.
- Desde menu File, selecciona New y haz clic en Java Proyect.

- Escribe un nombre para tu proyecto.
- Pulsa Siguiente y en la nueva ventana haz clic en la pestaña Libraries para incluir las librerías que necesitamos para este proyecto.
- Haz clic en el botón Add External JARs…

- Si tu instalación Web es ASP accede a la ruta Program Files (x86) > Common Files > MicroStrategy o si es JSP {web_root}/WEB-INF/lib, busca y haz doble clic sobre el fichero MALicMgr.jar. También deberás agregar el fichero websdk.jar
- Pulsa en el botón Finish.
Crear el paquete y la clase
- Sobre la carpeta src de nuestro nuevo proyecto haz clic derecho y crea un nuevo paquete. Dale un nombre y finaliza.
- Haz clic derecho sobre el paquete y crea una nueva clase.

Importación de clases
Sobre la clase que acabamos de crear necesitamos importar otras clases tanto de Java como de MicroStrategy para el buen funcionamiento del programa.
- Escribe entre las palabras package y public las siguientes líneas:
import com.microstrategy.web.objects.WebIServerSession; import com.microstrategy.web.objects.WebObjectsException; import com.microstrategy.web.objects.WebObjectsFactory;
Código para iniciar y cerrar sesión
Escribe el siguiente código dentro de tu clase. El código debe quedar similar al siguiente:
public class Principal {
private static WebObjectsFactory factory = null;
private static WebIServerSession sesionServidor = null;
//Metodo principal que llamara a los métodos iniciar y cerrar sesion
public static void main(String[] args) throws WebObjectsException,
IllegalArgumentException {
iniciarSesion();
cerrarSesion(sesionServidor);
}
//Metodo para iniciar sesión
public static WebIServerSession iniciarSesion() {
if (sesionServidor == null) {
factory = WebObjectsFactory.getInstance();
sesionServidor = factory.getIServerSession();
//Nombre del servidor MicroStrategy
sesionServidor.setServerName("DESKTOP-5DQNOAI");
sesionServidor.setServerPort(0);
//Nombre del proyecto
sesionServidor.setProjectName("MicroStrategy Tutorial");
//Usuario y pass para conectarse
sesionServidor.setLogin("Administrator");
sesionServidor.setPassword("");
try {
System.out.println("Sesión creada con ID: "
+ sesionServidor.getSessionID());
} catch (WebObjectsException ex) {
mostrarError(null, "Error al crear la sesión:" + ex.getMessage());
}
}
return sesionServidor;
}
//Metodo para cerrar la sesion
public static void cerrarSesion(WebIServerSession sesionServidor) {
try {
sesionServidor.closeSession();
} catch (WebObjectsException ex) {
System.out.println("Error al cerrar la sesión:" + ex.getMessage());
return;
}
System.out.println("Sesión cerrada.");
}
//Metodo al que llamaremos en caso de error para cerrar la sesion
public static void mostrarError(WebIServerSession sesionServidor,
String mensaje) {
System.out.println(mensaje);
if (sesionServidor != null) {
cerrarSesion(sesionServidor);
}
System.exit(0);
}
}
Resultado
Si ejecutamos el código anterior nos indicara si se ha iniciado la sesión y si la ha cerrado.

