Ruta para descargar jar de Zimbra

Post Reply
linitao
Posts: 10
Joined: Wed May 23, 2018 2:10 pm

Ruta para descargar jar de Zimbra

Post by linitao »

Hola a todos,

Por favor su ayuda,

Tengo instalado Zimbra Open Source (zcs-8.8.7_GA_1964.RHEL7_64.20180223145016) en CentOS 7, y quiero saber cómo crear cuentas de Zimbra desde una aplicación de terceros.

He visto en foros que se puede importar jars de Zimbra, pero no sé desde qué ruta se pueden descargar dichos jars.

Por favor si alguien me puede indicar.

Les agradezco de antemano por su ayuda.


import com.zimbra.common.service.ServiceException;
import com.zimbra.cs.service.account.AccountService;
import com.zimbra.cs.service.admin.AdminService;
import com.zimbra.soap.Element;
import com.zimbra.soap.SoapFaultException;
import com.zimbra.soap.SoapHttpTransport;
import com.zimbra.soap.ZimbraSoapContext;
import com.zimbra.common.soap.Element;
import com.zimbra.cs.account.Account;
linitao
Posts: 10
Joined: Wed May 23, 2018 2:10 pm

Re: Ruta para descargar jar de Zimbra

Post by linitao »

Ha sido desde /opt/zimbra/lib/jars

archivos zimbrastore.jar y zimbracommon.jar

import com.zimbra.common.service.ServiceException; //zimbracommon.jar
import com.zimbra.cs.service.account.AccountService; //zimbrastore.jar
import com.zimbra.cs.service.admin.AdminService; //zimbrastore.jar
import com.zimbra.common.soap.Element; //zimbracommon.jar
import com.zimbra.common.soap.SoapFaultException; //zimbracommon.jar
import com.zimbra.common.soap.SoapHttpTransport; //zimbracommon.jar
import com.zimbra.soap.ZimbraSoapContext; //zimbrastore.jar
import com.zimbra.cs.account.Account; //zimbrastore.jar
linitao
Posts: 10
Joined: Wed May 23, 2018 2:10 pm

Re: Ruta para descargar jar de Zimbra

Post by linitao »

A continuación código para crear cuenta de usuario de email en Zimbra desde una aplicación en java, por si acaso a alguien le sirva:

importé los jars de a continuación desde el /opt/zimbra/lib/jars
jars_para_crear_cuenta.jpg
jars_para_crear_cuenta.jpg (65.07 KiB) Viewed 1629 times
import com.zimbra.common.service.ServiceException; //zimbracommon.jar
import com.zimbra.cs.service.account.AccountService; //zimbrastore.jar
import com.zimbra.cs.service.admin.AdminService; //zimbrastore.jar
import com.zimbra.cs.servlet.ZimbraServlet;
import com.zimbra.common.soap.Element; //zimbracommon.jar //
import com.zimbra.common.soap.SoapFaultException; //zimbracommon.jar //
import com.zimbra.common.soap.SoapHttpTransport; //zimbracommon.jar //
import com.zimbra.soap.ZimbraSoapContext; //zimbrastore.jar
import com.zimbra.cs.account.Account; //zimbrastore.jar
import com.zimbra.cs.account.soap.SoapProvisioning;
import com.zimbra.cs.account.soap.SoapProvisioning.Options;

import java.io.IOException;
import com.zimbra.common.soap.AccountConstants;
import com.zimbra.common.soap.SoapFaultException;
import com.zimbra.cs.account.auth.AuthContext.Protocol;

import java.util.Properties;
import java.io.FileInputStream;
import java.net.URL;

public void createAccount(String cuenta, String passwordCuenta) throws Exception{

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* PARA QUE PUEDA ACCEDER AL LINK HTTPS
*/
Properties config = new Properties();

URL url = getClass().getResource("/wsaa/properties/wsaa_client.properties"); //archivo donde esta la clave del truststore.jks
URL urlJKS = getClass().getResource("/wsaa/certs/truststore.jks"); //pase a producción cambiar a truststoreProd.jks

config.load(new FileInputStream(url.getPath()));

String keyStorePath = config.getProperty("trustStore",""); //nombre que esta en el archivo wsaa_client.properties hace referencia a la ruta donde esta el truststore.jks
String keyStorePass = config.getProperty("trustStore_password"); //nombre que esta en el archivo wsaa_client.properties hace referencia al password del truststore.jks

keyStorePath = urlJKS.getPath();

System.getProperties().put("javax.net.ssl.trustStore", keyStorePath);
System.getProperties().put("javax.net.ssl.trustStorePassword",keyStorePass);
System.getProperties().put("javax.net.ssl.trustStoreType", "JKS");

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

SoapProvisioning sp = null;
Account createAccount = null;

try {
sp = new SoapProvisioning();

} catch (Exception e) {
e.printStackTrace();
System.out.println("No puede crear SOAP Provisioning"); //faltan jars del Zimbra, version de java del eclipse diferente al de Zimbra
//insertar en una tabla para que por medio de un batch crear despues al usuario
throw e;
}

try {
//https://192.168.248.129:7071/service/admin/soap/
sp.soapSetURI("https://192.168.248.129:7071" + com.zimbra.common.soap.AdminConstants.ADMIN_SERVICE_URI);
sp.soapAdminAuthenticate("admin","123456"); //usuario administrador de Zimbra y clave del administrador

} catch(ServiceException ex) {
ex.printStackTrace();
System.out.println("No puede autenticarse admin en el panel de administracion"); //el certificado del Zimbra ha caducado, hay que reemplazar el certificado en el java
//insertar en una tabla para que por medio de un batch crear despues al usuario
throw ex;
}

try {
System.out.println("Se creara cuenta: " + cuenta.toLowerCase());
createAccount = sp.createAccount(cuenta.toLowerCase(), passwordCuenta, getMap());

} catch(ServiceException se) {
se.printStackTrace();
System.out.println("No pudo crear usuario"); //usuario ya existe en Zimbra ACCOUNT_EXISTS
//email address already exists:
//insertar en una tabla para que por medio de un batch crear despues al usuario, no deberia pasar porque el sistema valida que el usuario sea unico
throw se;

} finally {


}
}
Post Reply