cancel
Showing results for 
Search instead for 
Did you mean: 

Sesion nula cuando uso OBJECT_FACTORY_CLASS

adyp
Champ on-the-rise
Champ on-the-rise

Buenas noches,  

Me esta sucediendo algo extraño cuando inicio session,

Uso:

 - Alfresco Comunnity 5.2

 - Apache Chemistry OpenCMIS 1.1

Mi código para iniciar sesión es el que se usa con normalidad :

  

public Session sessionAlfresco() { 
boolean iniciado=true;
Session session = null; 
try{

Map<String, String> parameter = new HashMap<String, String>();

// user credentials
parameter.put(SessionParameter.USER, "admin");
parameter.put(SessionParameter.PASSWORD, "12345");

// connection settings

//[He probado con los siguientes ]

parameter.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/cmisatom");

parameter.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom");


parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());

parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");

org.apache.chemistry.opencmis.client.api.SessionFactory sessionFactory = SessionFactoryImpl.newInstance(); 
session = sessionFactory.getRepositories(parameter).get(0).createSession (); 

}catch (Exception e) {
iniciado = false ;
System.out.print("Error : "  + e.toString());

}
System.out.println(" valor de inicio :" + iniciado);
return session ;
}

 

 

pero preo imprime falso y me retorna sesion= null,

Me bota esto :

Error : java.lang.IllegalArgumentException: Unable to create object factory: java.lang.ClassNotFoundException valor de inicio :false

 

Se soluciona  borrando la linea 

parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");

 

Alguien me podría decir a que  se puede deber esto?

 

El problema con esto es que quiero crear propiedades personalizadas para los documentos que suba y lei por ahi que esa linea problemática 

parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");

es necesaria para crear propiedades.

Saludos.

1 ACCEPTED ANSWER

angelborroy
Community Manager Community Manager
Community Manager

Si usas CMIS 1.1 no necesitas esa clase de Alfresco para manejar propiedades y aspectos personalizados. Puedes omitirla.

El error se produce porque necesitarías incluir su dependencia en Maven para que funcionase, es una adición de Alfresco al CMIS estándar. No obstante, como decía con CMIS 1.1 no es necesario utilizarla.

Hyland Developer Evangelist

View answer in original post

5 REPLIES 5

angelborroy
Community Manager Community Manager
Community Manager

Si usas CMIS 1.1 no necesitas esa clase de Alfresco para manejar propiedades y aspectos personalizados. Puedes omitirla.

El error se produce porque necesitarías incluir su dependencia en Maven para que funcionase, es una adición de Alfresco al CMIS estándar. No obstante, como decía con CMIS 1.1 no es necesario utilizarla.

Hyland Developer Evangelist

adyp
Champ on-the-rise
Champ on-the-rise

Muchas gracias por responder,

Efectivamente el problema era la dependencia en Maven. Se soluciono el problema agregando estas lineas en el  pom:

<!-- https://mvnrepository.com/artifact/org.alfresco.cmis.client/alfresco-opencmis-extension -->
<dependency>
<groupId>org.alfresco.cmis.client</groupId>
<artifactId>alfresco-opencmis-extension</artifactId>
<version>1.1</version>
</dependency>

Se obtuvo de acá Saludos.

Maven Repository: org.alfresco.cmis.client » alfresco-opencmis-extension » 1.1 

angelborroy
Community Manager Community Manager
Community Manager

Una vez más: utilizando CMIS 1.1 no necesitas ese artefacto. Puedes eliminarlo completamente del pom.xml

Hyland Developer Evangelist

adyp
Champ on-the-rise
Champ on-the-rise

Entendí lo que escribió, pero le cuento lo que me pasa :

Si elimino la dependencia del pom me muestra el error inicial (session null )  que se soluciona cuando comento esa linea,

//parameter.put (SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");  pero al comentar esa linea no puedo agregar los aspectos a los documentos que subo,

Por el momento solo puedo agregar los aspectos teniendo la dependencia en el pom y llamando a la clase SessionParameter.OBJECT_FACTORY_CLASS ...

No se si realmente son estos los motivos pero es lo que sucede.

Saludos.

adyp
Champ on-the-rise
Champ on-the-rise

Me rectifico, efectivamente la linea

parameter.put (SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl"); 

no es necesaria para trabajar con  propiedades personalizadas , lo acabo de comprobar, el error iba por otro lado. Espero que a alguien le sirva esta aclaración.

Saludos

Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.