cancel
Showing results for 
Search instead for 
Did you mean: 

Workflow failed to signal transition 'null' from wrkflw task

jenn_l
Champ on-the-rise
Champ on-the-rise
Hoi All,

I have deployed my customized review_pooled_processdefinition.xml in Alfresco 3.2r Community.
When I tried to start a pooled workflow I get the following system error in my webclient:
Please correct the errors below then click Finish.
system error happened during the operation: 02170018 Failed to signal transition 'null' from workflow task 'jbpm$77

The second time I tried I get this:
Please correct the errors below then click Finish.
A system error happened during the operation: 02170020 Failed to signal transition 'null' from workflow task 'jbpm$78'


The catalina.out displays this:
at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
        at org.mozilla.javascript.gen.c6._c0(AlfrescoJS:1)
        at org.mozilla.javascript.gen.c6.call(AlfrescoJS)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)
        at org.mozilla.javascript.gen.c6.call(AlfrescoJS)
        at org.mozilla.javascript.gen.c6.exec(AlfrescoJS)
        at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:457)
        at org.alfresco.repo.jscript.RhinoScriptProcessor.executeString(RhinoScriptProcessor.java:250)
        … 124 more


My customized procesdefinition.xml looks like this:
<?xml version="1.0" encoding="UTF-8"?>

<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:reviewpooled">

    <swimlane name="initiator" />

    <start-state name="start">
        <task name="wf:submitGroupReviewTask" swimlane="initiator" />
        <transition name="" to="review" />
    </start-state>

    <swimlane name="reviewer">
        <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
            <pooledactors>#{bpm_groupAssignee}</pooledactors>
        </assignment>   
    </swimlane>

    <task-node name="review">
        <task name="wf:reviewTask" swimlane="reviewer">
            <event type="task-create">
                <script>
                   if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
                   if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
                </script>
            </event>
            <event type="task-end">
               <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
                  <script>
                     <variable name="bpm_assignee" access="write"/>
                     <expression>
                        if (taskInstance.actorId != null)
                           people.getPerson(taskInstance.actorId);
                        else
                           person;
                     </expression>
                  </script>
               </action>
            </event>
        </task>
         <event type="node-enter">
             <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
                 <script>
            
            for (var i = 0; i &lt; bpm_package.children.length; i++)
                    {
                        var group = bpm_groupAssignee.properties["usr:authorityName"];
                  if (logger.isLoggingEnabled()) logger.log("Setting permission Coordinator for " + group);
                  var document = bpm_package.children[i];
                  var parent = bpm_package.children[i].getParent();
                  /* Make it visible. */
                  document.setPermission("Coordinator",group);
                  /* Enable check-out/check-in. */
                  parent.setPermission("Coordinator",group);
               }
         
             </script>
           </action>
          </event>
        <transition name="reject" to="rejected">
            <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
                 <script>
            
            for (var i = 0; i &lt; bpm_package.children.length; i++)
                    {
                       var group = bpm_groupAssignee.properties["usr:authorityName"];

                  if (logger.isLoggingEnabled()) logger.log("Removing permission Coordinator for " + group);
                  var document = bpm_package.children[i];
                  var parent = bpm_package.children[i].getParent();
                  /* Hide it. */
                  document.removePermission("Coordinator",group);
                  /* Disable check-out/check-in*/
                  parent.removePermission("Coordinator",group);
               }
         
                </script>
           </action>
        </transition>
        <transition name="approve" to="approved">
            <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
                 <script>
            
             for (var i = 0; i &lt; bpm_package.children.length; i++)
                    {
                        var group = bpm_groupAssignee.properties["usr:authorityName"];
                  
                  if (logger.isLoggingEnabled()) logger.log("Removing permission Coordinator for " + group);
                  var document = bpm_package.children[i];
                  var parent = bpm_package.children[i].getParent();
                  /* Hide it. */
                  document.removePermission("Coordinator",group);
                  /* Disable check-out/check -in. */
                  parent.removePermission("Coordinator",group);
                    }
               
            </script>
           </action>
        </transition>
    </task-node>

    <task-node name="rejected">
        <task name="wf:rejectedTask" swimlane="initiator" />
        <transition name="" to="end" />
    </task-node>

    <task-node name="approved">
        <task name="wf:approvedTask" swimlane="initiator" />
        <transition name="" to="end" />
    </task-node>

    <end-state name="end" />

</process-definition>

The funny thing is that this processdefinition.xml works fine in Alfresco enterprise 3.0 and Alfresco enterprise 3.1.
Can anyone help me out ?

Thanks in advance.
Kind regards,
Jenny
3 REPLIES 3

stevegreenbaum
Champ in-the-making
Champ in-the-making
Failed to signal transition 'null' from workflow task

This message is frequently generated when there is a workflow syntax or other problem with the workflow definition.  Further down in the log and perhaps the last error in the log is usually the real issue.  Posting more of the log may help find the problem.

jenn_l
Champ on-the-rise
Champ on-the-rise
Hoi Steve,

This is the output of the catalina.out:
        … 124 more
13:30:53,617 User:admin ERROR [ui.common.Utils] A system error happened during the operation: 02220005 Failed to signal transition 'null' from workflow task 'jbpm$4'
org.alfresco.service.cmr.workflow.WorkflowException: 02220005 Failed to signal transition 'null' from workflow task 'jbpm$4'
        at org.alfresco.repo.workflow.jbpm.JBPMEngine.endTask(JBPMEngine.java:1727)
        at org.alfresco.repo.workflow.WorkflowServiceImpl.endTask(WorkflowServiceImpl.java:544)
        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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:40)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:147)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy45.endTask(Unknown Source)
        at org.alfresco.web.bean.workflow.StartWorkflowWizard.finishImpl(StartWorkflowWizard.java:239)
        at org.alfresco.web.bean.dialog.BaseDialogBean$1.execute(BaseDialogBean.java:124)
        at org.alfresco.web.bean.dialog.BaseDialogBean$1.execute(BaseDialogBean.java:121)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:327)
        at org.alfresco.web.bean.dialog.BaseDialogBean.finish(BaseDialogBean.java:130)
        at org.alfresco.web.bean.wizard.WizardManager.finish(WizardManager.java:599)
        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.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:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:110)


    at org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript.execute(AlfrescoJavaScript.java:132)
        at org.jbpm.graph.def.Action.execute(Action.java:129)
        at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:284)
        … 101 more
Caused by: java.lang.IllegalArgumentException: Authority is a mandatory parameter
        at org.alfresco.util.ParameterCheck.mandatoryString(ParameterCheck.java:64)
        at org.alfresco.repo.jscript.ScriptNode.setPermission(ScriptNode.java:1304)
        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.mozilla.javascript.MemberBox.invoke(MemberBox.java:155)
        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:243)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
        at org.mozilla.javascript.gen.c2._c0(AlfrescoJS:1)
        at org.mozilla.javascript.gen.c2.call(AlfrescoJS)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)
        at org.mozilla.javascript.gen.c2.call(AlfrescoJS)
        at org.mozilla.javascript.gen.c2.exec(AlfrescoJS)
        at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:457)
        at org.alfresco.repo.jscript.RhinoScriptProcessor.executeString(RhinoScriptProcessor.java:250)
        … 124 more


I now know that the problem has to do with retrieving the groupname in my processdefinition.xml. That's the usr:authorityName part of the XML. It seems like 3.2 has another definition for retrieving the groupname. In 3.0 and 3.1 I can get the groupname through javascript using "usr:authorityName" and 3.2 I get null.

Any help on this?

Regards,
Jenny

stevegreenbaum
Champ in-the-making
Champ in-the-making
I don't know what would make this not work in v3.2, but try changing the statement a little to see if that help.  Just a guess.

 
var group = bpm_groupAssignee.properties["usr:authorityName"];

Try this:

bpm_groupAssignee.properties.userName;
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.