cancel
Showing results for 
Search instead for 
Did you mean: 

Aplicación Spring que utiliza a alfresco como gestor

laac
Champ in-the-making
Champ in-the-making
Hola buenas tardes,

Tengo una aplicación java (Spring) que necesita almacenar documentos. Para ellos se va a utilizar Alfresco como gestor Documental. He creado una pequeña API utilizando web services Client que contiene ciertas funcionalidades que necesito. En dicha API existe una interfaz con una serie de métodos entre los que estan inicarSession(). Desde la aplicacion java tengo que crear una instancia del objeto y hacer la llamada al método iniciarSession(). Pero me salta esta excepcion cuando se crea la instancia del objeto. Yo en la API utilizo el patrón Singleton para la instanciación.

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/alfresco/webservice/authentication/AuthenticationFault

Os pongo el método que tengo en la API

public boolean inicarSession(){
      boolean iniciado=true;
      try{
      //Del properties debemos recoger el usuario, password, servidor
      //String servidor=Configuracion.getInstance().getProperty("servidor");      
      WebServiceFactory.setEndpointAddress("http://localhost:8080/alfresco/api");         
      AuthenticationUtils.startSession("admin","admin");   
      }catch (AuthenticationFault e) {
         iniciado=false;
         logger.info("No se ha podido iniciar la sessión de forma correcta");
         e.printStackTrace();         
      }
      return iniciado;
   }


He leido otros post relacionados con este tema pero no he conseguido solucinarlo ni si quiera poniendo el axis1.4

Gracias
6 REPLIES 6

cristinamr
World-Class Innovator
World-Class Innovator
Buenas tardes.

Una cosa muy tonta que he visto a simple vista: Tiene puesto inicarSession en vez de iniciarSesion, si has copiado y pegado puede que sea ese el error.
Igualmente viendo el error en la api de java solo pone que no encuentra la clase:

Thrown when the virtual machine is unable to locate a class which it has been asked to load.

Quizás puede ser que el problema venga del CLASSPATH, ¿has probado a ejecutar otro código a ver si lo lanza?

Comentanos Smiley Wink
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

laac
Champ in-the-making
Champ in-the-making
Si efectivamente pone que no encuentra la clase AuthenticationFault. En la API que yo me he fabricado (llamemosla APIejemplo) dónde tengo desarrollado el método inicarSesion (que tengo que cambiar por iniciarSesion Smiley Very Happy ), tengo hecho un main dónde pruebo el mismo código que intento lanzar desde la aplicación Spring. Simplemente es instanciar el objeto y hacer la llamada. Y no da problemas se conecta y ya está.

Pero ahora me voy a mi aplicación Spring, añanado como jar el APIEjemplo (ambas están mavenizadas), y dentro de un método de la aplicación Spring instancio el objeto y llamo a objeto.inicarSesion(). Y justo cuando el compilador ejecuta la sentencia de instanciación del objeto me pega el error que puse antes. Ni si quiera llega a ejecutar objeto.inicarSesion().

Respecto a la pregunta que me haces del CLASSPATH,  te refieres al CLASSPATH de la aplicación, no de la API verdad????

Saludos y gracias

cristinamr
World-Class Innovator
World-Class Innovator
Sí, me refería a la de la aplicación. Ojea este hilo, la mayoría de las respuestas que hay googleando son todas similares aunque también comentan que el error pueda deberse a maven.

Hagamos una cosa, haz lo que te explican en ese hilo y prueba, sino pasamos al plan B (que es buscar otra solución, claramente xD).

Comentanos Smiley Wink
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

laac
Champ in-the-making
Champ in-the-making
Hola buenas, efectivamente el problema se resuelve cuando introduzco en el pom.xml de mi proyecto la referencia a la librería alfresco-webservices-web-client. No basta con que en el pom.xml incluya la referencia a la API que a su vez tiene referenciado en su pom alfresco-webservices-web-client. Es algo que no entiendo muy bien, ya que no sería necesario pero lo cierto es que funciona perfectamente. Investigaré para ver porqué

Muchiiiisimas gracias por tu ayuda y prontas respuestas

cristinamr
World-Class Innovator
World-Class Innovator
Me alegro que fuera eso y que lo solucionaras ^^

Un saludo desde Sevilla Smiley Wink
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

agrunix
Champ in-the-making
Champ in-the-making
Hola pretendo hacer una aplicación que utlicé Alfresco como Gestor Documental…
No se si inclinarme por Java o PHP, la duda la tengo en la API a utilizar, quiero ahorara tiempo y eso depende de las API… Pero he leído y muchos me dicen que la API de JavaScript es la mejor y tengo dudas…
Alfresco está hecho con Spring, me gustaría saber si te es factible… He hecho varios proyectos con Spring y puede que esa sea una solución…