Page 1 of 1

Error al usar workflow

PostPosted:Mon May 10, 2010 4:11 pm
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 :).

Re: Error al usar workflow

PostPosted:Tue May 11, 2010 9:15 am
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.

Re: Error al usar workflow

PostPosted:Thu May 13, 2010 8:14 am
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 :)