AnsweredAssumed Answered

Accès par RMI : ClassNotFoundException: SimpleCredentials

Question asked by marinew on Dec 24, 2010
Latest reply on Jan 3, 2011 by jayjayecl
Bonjour,

Nous avons une application Web, hébergée dans le même Tomcat qu'Alfresco.
Cette application accède à Alfresco via RMI, pour lire /modifier des documents.
Tout fonctionne très bien depuis plus de 2 ans.
Et depuis hier, sans que personne n'ait modifié quoique ce soit, tout tentative d'accès à Alfresco par l'application métier retourne l'exception suivante :

   java.lang.ClassNotFoundException: javax.jcr.SimpleCredentials (no security manager: RMI class loader disabled)
   at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:371)
   at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
   at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
   at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
   at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
   at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
   at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
   at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
   at sun.rmi.transport.Transport$1.run(Transport.java:153)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
   at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
   at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
   at java.lang.Thread.run(Thread.java:595)

Précision : A l'époque du développement, j'obtenais une erreur de façon aléatoire, très ressemblanteà celle-ci mais concernant la classe "net.sf.acegisecurity.AuthenticationCredentialsNotFoundException" au lieu de "javax.jcr.SimpleCredentials".
Après de longues recherches, j'avais conclu que ce problème était lié au bug Alfresco AR-706 (dont le lien ne fonctionne plus aujourd'hui : http://issues.alfresco.com/jira/browse/AR-706).
J'avais trouvé une solution de contournement avec le projet "jcr-rmi" : http://forge.alfresco.com/projects/jcr-rmi/
Que j'avais mise en place en suivant les instructions suivantes : http://forge.alfresco.com/frs/shownotes.php?group_id=21&release_id=298

Ce problème est vraiment bloquant, donc j'apprécierai vraiment si quelque pouvait me donner des pistes de résolution, ou des éléments me permettant de mieux cerner l'origine du problème.
Merci d'avance.
Marine

Outcomes