Context initialization failed

cancel
Showing results for 
Search instead for 
Did you mean: 
andrea_girardi
Member II

Context initialization failed

Ciao a tutti,

ho iniziato a lavorare su alfresco e mi sto scontrando con alcuni problemini. Ho creato una classe Java che estende DeclarativeWebScript ed il suo context file e`:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
  <bean id="webscript.com.mycompany.simpleservicejava.get" class="com.mycompany.SimpleServiceJava" parent="webscript" >
    <property name="repository" ref="repositoryHelper"/>
  </bean>
</beans>

Ho aggiunto tutti i jar necessari alla compilazione (prendendoli da alfresco/WEB-INF/lib in modo da utilizzare gli stessi jar ma quando avvio alfresco mi segnala un errore nell'inizializzazione del context.

16:02:03,971 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webscript.com.kipcast.simpleservicejava.get' defined in file [/Users/andrea.girardi/Documents/Works/Project/KipCast/Alfresco/tomcat/shared/classes/alfresco/extension/simpleservicejava-context.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'org.alfresco.repo.model.Repository' to required type 'org.alfresco.repo.model.Repository' for property 'repository'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [org.alfresco.repo.model.Repository] to required type [org.alfresco.repo.model.Repository] for property 'repository': no matching editors or conversion strategy found

qualcuno mi puo` aiutare?

grazie,
Andrea
3 Replies
mturatti
Member II

Re: Context initialization failed

Siccome org.springframework.beans.ConversionNotSupportedException è una RuntimeException che si verifica al momento del set del bean referenziato tramite il setter che hai implementato ("Exception thrown when no suitable editor or converter can be found for a bean property."), presumo che i JAR in questione siano stati tutti caricati correttamente ma che piuttosto ci sia un problema con l'interfaccia della classe che implementa il DeclarativeWebScript.
Puoi postare qui la tua classe com.mycompany.SimpleServiceJava che proviamo a guardarci?

Saluti,
andrea_girardi
Member II

Re: Context initialization failed

Ciao,

grazie per la risposta. Si, in effetti quello che penso anche io e` che non sia un problema di Jar ma più` che altro di configurazione di spring o, cosa più` probabile, di come ho implementato la classe. In ogni caso, eccola qui:


package com.mycompany;

import java.util.HashMap;
import java.util.Map;

import org.alfresco.repo.model.Repository;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.WebScriptRequest;

import org.springframework.extensions.webscripts.ScriptLogger;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class SimpleServiceJava extends DeclarativeWebScript {

   private Repository repository;
   
   // http://www.abstractive.ca/home/blog/~/blog/tim.frith/better_alfresco_script_logging
   protected static final Log logger = LogFactory.getLog(ScriptLogger.class);
   
   @Override
   protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) throws org.springframework.extensions.webscripts.WebScriptException
    {
      // get parameter verbose={verbose?}
      String verboseArg = req.getParameter("verbose");
       Boolean verbose = Boolean.parseBoolean(verboseArg);
      
       // get parameter /simpleservicejava/{folderpath}
       Map<String, String> templateArgs = req.getServiceMatch().getTemplateVars();
       String folderPath = templateArgs.get("folderpath");
      
       logger.error("Test under Java-backed Controller -> " + req.getParameter("verbose") + " " + templateArgs.get("folderpath"));
      
        // construct model for response template to render
        Map<String, Object> model = new HashMap<String, Object>();
        model.put("verbose", verbose);
        model.put("folder", folderPath);
        return model;
      
    }
   
   public void setRepository(Repository repository)
   {
      this.repository = repository;
   }
   
}
mturatti
Member II

Re: Context initialization failed

Uhm… a prima vista non riesco a trovare nulla che non vada nella tua classe. Non è che qualcuno meno orbo di me ci può dare una mano??  :geek: