在部署到Camunda时,conditionExpression on sequence不起作用

时间:2016-07-26 14:20:27

标签: bpmn camunda

我尝试创建一个BPMN流程,根据任务中的数据,用户任务的流量是有条件的。建模者(我试过1.1.1,1.2.0,1.2.1和1.2.2)给出了这个BPMN片段:

<bpmn:sequenceFlow id="SequenceFlow_1x3p2i8" sourceRef="Task_088dhgw" targetRef="EndEvent_1hc01v6">
  <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${true}</bpmn:conditionExpression>
</bpmn:sequenceFlow>

我正在构建自己的dropwizard服务,使用camunda版本7.5.0(也尝试过7.4.0和7.3.0)。当进程引擎处理bpmn时,它会引发异常:

Exception in thread "main" org.camunda.bpm.engine.ProcessEngineException: ENGINE-08043 Exception while performing 'Deployment of Process Application Camunda Servlet Process Application' => 'Deployment of process archive 'null': ENGINE-09005 Could not parse BPMN process. Errors: 
* Invalid type, only tFormalExpression is currently supported | bicycles.bpmn | line 22 | column 67

咦?类型是tFormalExpression。此外,计时器中的tFormalExpression确实有效。 这有什么不对? 我也从xor-gateway出来的sequenceFlow上得到了同样的错误。

1 个答案:

答案 0 :(得分:2)

这是因为引擎在Dropwizard中运行。显然,dropwizard带来了另一种XML解析器,而不是Camunda通常使用的解析器。解析XML时,无法识别BPMN中的命名空间标记(实际上它们都不是)。 我已经在Parser类上创建了一个修复程序来使其工作。

相关问题