找不到“LiferayJavaScript”的脚本引擎

Can't find scripting engine for 'LiferayJavaScript

我正在创建一个工作流,即 single-approval-definition 在 activiti 中,这个工作流被添加到 Liferay。在此工作流程中,我使用的是脚本任务。脚本任务使用 LiferayJavascript 将审核过程的状态从 pending 更改为 approved。当我尝试在 REST API 的帮助下完成此任务时,它显示以下错误:

"errorMessage":"Can't find scripting engine for 'LiferayJavaScript'",
"statusCode":500

我的脚本是这样的:

Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStat‌​us(
    Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("approv‌​ed"), 
    workflowContext); 

当我使用 javascript 而不是 LiferayJavascript 时,它会显示以下错误:

"errorMessage":"problem evaluating script: sun.org.mozilla.javascript.EcmaError: ReferenceError: \"workflowContext\" is not defined. (<Unknown source>#1) in <Unknown source> at line number 1",
"statusCode":500

我的问题得到了答案,我在这里与您分享。我使用 Javascript 而不是 LiferayJavascript。我收到错误:

"errorMessage":"problem evaluating script: sun.org.mozilla.javascript.EcmaError: ReferenceError: \"workflowContext\" is not defined. (<Unknown source>#1) in <Unknown source> at line number 1",
"statusCode":500

为了消除这个错误,我在 activiti-explorer 的库、rest-lib 以及 tomcat 的库中复制了 Rhino.jar。 我从

更改了我的脚本
Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStat‌​us(
    Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("approv‌​ed"), 
    workflowContext); 

至:

Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("approved"),execution.getVariables())

我的问题得到解决。 :-)