我试图仅在FileNet Process Engine中获取特定工作流中的所有步骤。但是没有运气得到它。我不确定我想要实现的目标是否在 API 中可用,因为我找了好几天但看不到它。
这是我的代码 字符串工作流名称 ="示例工作流 1";
String[] workClassNames = myPESession.fetchWorkClassNames(true);
for (int i = 0; i < workClassNames.length; i++) {
System.out.println(workClassNames[i]);
}
// Launch Workflow VWStepElement
VWStepElement stepElement = myPESession.createWorkflow(workflowName);
System.out.println(stepElement.getWorkflowName());
System.out.println(stepElement.getSubject());
System.out.println(stepElement.getComment());
System.out.println(stepElement.getStepDescription());
System.out.println("Parameters");
String[] a = stepElement.getParameterNames();
for (int i = 0; i < a.length; i++)
{
if (a[i] != null)
{
Object _parameterValue = stepElement.getParameterValue(a[i]);
System.out.println("t" + a[i] + "=" + _parameterValue);
}
}
它是静态部分,对于特定工作流的任何实例都是相同的。因此,您应该从工作流定义中获取它,而不是从正在运行的工作流实例中获取它。
您应该从 VWWorkflowDefinition
开始,遍历使用 getMaps()
获得的每个映射,然后使用 getSteps()
获取VWMapDefinition
的步骤。
试试这个
VWWorkflowDefinition defn = peSession.fetchWorkflowDefinition(workSpaceId, workflowIdentifier, convert);
VWMapDefinition vwMapDefinition = defn.getMap(workflowname);
VWMapNode[] mapNode = vwMapDefinition.getSteps()//Gets all of the steps contained in this map.
然后迭代 mapNode。