processTemplate : erreur d'IO lors de la généra

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

processTemplate : erreur d'IO lors de la généra

Bonjour,
j'ai un problème lors de l'utilisation de template freemarker.

J'ai stocké dans mon espace un fichier freemarker sur lequel je lance un workflow. Je me suis largement inspiré du code dispo sur le [url=http://wiki.alfresco.com/fr/index.php/Envoyer_des_mails_au_format_HTML_%C3%A0_partir_d'un_template_F... fr[/url].

Quand je lance ma transformation :
[code]templateService.processTemplate("freemarker", templateRef.toString(), model);[/code]

J'ai cette erreur :
org.alfresco.service.cmr.repository.TemplateException: Une erreur d'IO est survenue lors de la génération du modèle 'workspace://SpacesStore/0ece8b97-06e4-11dd-8799-bb189334b1eb'. Veuillez contacter votre administrateur système.

Et là je comprend pas trop. Le templateRef est bon (vérifié via le node explorer). Quelqu'un aurais déjà eut ce genre de problème?

Merci.
4 Replies
rguinot
Active Member

Re: processTemplate : erreur d'IO lors de la généra

echo "org.alfresco.service.cmr.repository.TemplateException" | krystalball

Peux tu nous en dire plus sur ton environnement ? Version d'Alfresco, OS , Serveur d'app, DB,…
Peux tu également poster le template qui pose problème ainsi que la trace complète de l'erreur ( surtout les "caused by").
ericc
Member II

Re: processTemplate : erreur d'IO lors de la généra

Alors je suis sur Alfresco 2.9b
Windows XP
Tomcat
et HSQL vu que je suis en dev.

Et voilà la trace :

10:14:03,906 ERROR [org.jbpm.instantiation.FieldInstantiator] couldn't parse set field 'script' to value '<script xmlns="urn:jbpm.org:jpdl-3.1" accept-propagated-events="true"></script>'
java.lang.NullPointerException
   at org.jbpm.instantiation.FieldInstantiator.setPropertyValue(FieldInstantiator.java:70)
   at org.jbpm.instantiation.FieldInstantiator.instantiate(FieldInstantiator.java:61)
   at org.jbpm.instantiation.Delegation.instantiate(Delegation.java:163)
   at org.jbpm.instantiation.Delegation.getInstance(Delegation.java:125)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:147)
   at org.jbpm.instantiation.Delegation$$EnhancerByCGLIB$$d26d3f94.getInstance(<generated>)
   at org.jbpm.graph.def.Action.execute(Action.java:121)
   at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:247)
   at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:215)
   at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:185)
   at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:169)
   at org.jbpm.graph.def.Transition.take(Transition.java:138)
   at org.jbpm.graph.def.Node.leave(Node.java:393)
   at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:209)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:147)
   at org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$f792e1a0.leave(<generated>)
   at org.jbpm.graph.exe.Token.signal(Token.java:194)
   at org.jbpm.graph.exe.Token.signal(Token.java:165)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:147)
   at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$69db91ea.signal(<generated>)
   at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:478)
   at org.alfresco.repo.workflow.jbpm.WorkflowTaskInstance.end(WorkflowTaskInstance.java:133)
   at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:417)
   at org.alfresco.repo.workflow.jbpm.JBPMEngine$26.doInJbpm(JBPMEngine.java:1681)
   at org.springmodules.workflow.jbpm31.JbpmTemplate$1.doInHibernate(JbpmTemplate.java:87)
   at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
   at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:333)
   at org.springmodules.workflow.jbpm31.JbpmTemplate.execute(JbpmTemplate.java:80)
   at org.alfresco.repo.workflow.jbpm.JBPMEngine.endTask(JBPMEngine.java:1649)
   at org.alfresco.repo.workflow.WorkflowServiceImpl.endTask(WorkflowServiceImpl.java:488)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
   at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:40)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.java:241)
   at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:69)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
   at $Proxy44.endTask(Unknown Source)
   at org.alfresco.web.bean.workflow.ManageTaskDialog.transition(ManageTaskDialog.java:393)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
   at javax.faces.component.UICommand.broadcast(UICommand.java:109)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
   at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
   at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
   at java.lang.Thread.run(Thread.java:595)

Et mon freemarker (qui est là un fichier html, pour tester j'ai mi le minimum pour l'instant) :

<html>
    <head>
        <title></title>
    </head>
    <body>
        Essais d'une newsletter
    </body>
</html>
michaelh
Active Member

Re: processTemplate : erreur d'IO lors de la généra

Bonjour,

A mon avis du coté des logs il manque la portion qui commence par "caused by" (en gros on a la conséquence, mais pas de détails sur la cause).
ericc
Member II

Re: processTemplate : erreur d'IO lors de la généra

Hummm non je n'avais que ça.
Par contre j'ai trouvé l'erreur, je pensais que la variable bpm_package (du workflow) contenait le nodeRef du fichier sur lequel il a été lancé, mais c'est en fait le noderef du workflow en lui même.

Du coup question subsidiaire, comment récupérer les attributs d'une tâche d'un workflow? (le fichier sur lequel il a été lancé mais aussi les données que l'on peut entrer au cours du workflow). J'utilise une classe héritant de JBPMSpringActionHandler.

Merci.