我尝试创建一个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上得到了同样的错误。
答案 0 :(得分:2)
这是因为引擎在Dropwizard中运行。显然,dropwizard带来了另一种XML解析器,而不是Camunda通常使用的解析器。解析XML时,无法识别BPMN中的命名空间标记(实际上它们都不是)。 我已经在Parser类上创建了一个修复程序来使其工作。