• Error al usar workflow

  • Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #4943  by Pepito
 
Bueno he hecho un workflow para mover archivos para probar (vi a gente que lo estaba haciendo en este foro) y tengo lo siguiente:
Code: Select all
package proyectoopenkm.handler;
import org.jbpm.graph.exe.ExecutionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import es.git.openkm.core.SessionManager;
import es.git.openkm.module.direct.DirectDocumentModule;

public class openkmhandler {
	private static final long serialVersionUID = 1L;
	private static Logger log = LoggerFactory.getLogger(openkmhandler.class);
	public void execute(ExecutionContext ctx) throws Exception {
	String path = (String)ctx.getContextInstance().getVariable("path");
	log.info("Path: "+path);
	String token = SessionManager.getInstance().getSystemToken();
	log.info("Token: "+token);
	DirectDocumentModule.class.newInstance().move(token, path, "/okm:root/carpeta2/");
}
}
Como proceso tengo:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>

<process-definition  xmlns="urn:jbpm.org:jpdl-3.2"  name="FlujoOpenkm">
	<start-state name="inicio">
		<transition to="LanzarTarea" name="to_LanzarTarea"></transition>
	</start-state>

	<task-node name="LanzarTarea">
		<task name="TareaAceptar">
			<assignment actor-id="rodriguez"></assignment>
			<controller>
				<variable access="read,write,required" name="aceptar" mapped-name="aceptar"></variable>
			</controller>
		</task>
		<transition to="Aceptar" name="to_Aceptar"></transition>
	</task-node>
	
	<decision name="Aceptar" expression="#{(aceptar>100)?'to_Rechazado':'to_Aceptado'}">
		<transition to="Aceptado" name="to_Aceptado">
			<action class='proyectoopenkm.handler.openkmhandler' name='MoverAceptado'></action>
		</transition>
		<transition to="Rechazado" name="to_Rechazado"></transition>
	</decision>

	<task-node name="Aceptado">
		<transition to="fin" name="to_end"></transition>
	</task-node>
	<task-node name="Rechazado">
		<transition to="fin" name="to_end1"></transition>
	</task-node>
	<end-state name="fin"></end-state>
</process-definition>
Y bueno el error que me aparece al enviar la señar y ejecutar la acción es:

OKM-022001(setTaskInstanceValues): Error interno del repositorio
org.jbpm.graph.def.DelegationException

Y bueno no tengo nada mal que yo sepa, lo único que me falla lo que puse en el post de configuración.
A la hora de subir el workflow meto los archivos en un .pas, meto lo siguiente:
forms.xml
gpd.xml
openkmhandler.class
openkmhandler.java
processdefinition.xml
processimage.jpg
TareaAceptar.xhtml


Por cierto en OpenKM el error que me aparece es:
Code: Select all
org.apache.jasper.JasperException: An exception occurred processing JSP page /admin/wf_procdef.jsp at line 53

50: 			out.println("<tr class=\"odd\"><td>"+pd.getId()+"</td><td>"+pd.getName()+"</td><td>"+(pd.getDescription()!=null?pd.getDescription():"")+"</td><td>"+pd.getVersion()+"</td></tr>");
51: 			out.println("</table>");
52: 						
53: 			Collection<ProcessInstance> col = OKMWorkflow.getInstance().findProcessInstances(token, Long.parseLong(id));
54: 			out.println("<h2>Process Instances</h2>");
55: 			out.println("<table class=\"results\">");
56: 			out.println("<tr><th>Instance ID</th><th>Key</th><th>Status</th><th>Start Date</th><th>End Date</th><th>Actions</th></tr>");


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:397)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

javax.servlet.ServletException: es.git.openkm.core.RepositoryException: java.lang.NullPointerException
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
	org.apache.jsp.admin.wf_005fprocdef_jsp._jspService(wf_005fprocdef_jsp.java:206)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

es.git.openkm.core.RepositoryException: java.lang.NullPointerException
	es.git.openkm.module.direct.DirectWorkflowModule.findProcessInstances(DirectWorkflowModule.java:484)
	es.git.openkm.api.OKMWorkflow.findProcessInstances(OKMWorkflow.java:161)
	org.apache.jsp.admin.wf_005fprocdef_jsp._jspService(wf_005fprocdef_jsp.java:113)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

java.lang.NullPointerException
	es.git.openkm.module.direct.WorkflowUtils.copy(WorkflowUtils.java:207)
	es.git.openkm.module.direct.WorkflowUtils.copy(WorkflowUtils.java:91)
	es.git.openkm.module.direct.DirectWorkflowModule.findProcessInstances(DirectWorkflowModule.java:478)
	es.git.openkm.api.OKMWorkflow.findProcessInstances(OKMWorkflow.java:161)
	org.apache.jsp.admin.wf_005fprocdef_jsp._jspService(wf_005fprocdef_jsp.java:113)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
Gracias por al ayuda que me habéis prestado hasta ahora :).
 #4958  by Pepito
 
He creado un workflow simple (de hecho lo dejé con el proceso de ejemplo que te crea) y al ejecutarlo en openkm recibo el mismo error, además no puedo hacer el deployment por eso creo manualmente el .par, el error al hacer deploying es:
Code: Select all
	at org.jbpm.gd.jpdl.util.ProcessDeployer.addClassOrResource(Unknown Source)
	at org.jbpm.gd.jpdl.util.ProcessDeployer.addClassesAndResources(Unknown Source)
	at org.jbpm.gd.jpdl.util.ProcessDeployer.createParBytes(Unknown Source)
	at org.jbpm.gd.jpdl.util.ProcessDeployer.access$1(Unknown Source)
	at org.jbpm.gd.jpdl.util.ProcessDeployer$1.run(Unknown Source)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
	at org.jbpm.gd.jpdl.util.ProcessDeployer.showProgressMonitorDialog(Unknown Source)
	at org.jbpm.gd.jpdl.util.ProcessDeployer.deploy(Unknown Source)
	at org.jbpm.gd.jpdl.deployment.DeploymentForm$1.widgetSelected(Unknown Source)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
La versión que usamos de OpenKM es supuestamente la última y de JDK es 6 update 20, como no sea porque es una versión superior a la soportada por OpenKM o algo así...

Espero que me puedan ayudar porque tengo que hacer el dichoso workflow cuanto antes y con "suerte" tendré que hacer más :/, no me importaría compartirlos con la comunidad cuando los haga....si lo consigo xD.
 #4986  by Pepito
 
Bueno problemas resueltos, navegando por la red durante semanas al final he dado con la solución.
Es una "tontería" pero si no lo sabes.....el path del workspace de Eclipse NO debe tener espacios, yo lo tenía en Documents and Settings/user/workspace pero poniéndolo en c:\ ya me hace el deploy correctamente. Espero que os sirva :)

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.