无法获得流程启动变量

时间:2017-03-27 09:18:05

标签: camunda

我试图通过休息获取流程启动变量,但我无法接收任何启动变量。

当我尝试:

http://192.168.30.1:8080/engine-rest/process-definition/key/invoice/form-variables

我只得到了这个:

{}

如何获取流程启动变量?

1 个答案:

答案 0 :(得分:2)

这是因为资源Get Start Form Variables仅支持Generated Start Forms

发票流程使用Embedded Start Form。发票流程的开始事件引用外部HTML文件,该文件用于呈现“开始”表单。

请参阅here

<startEvent id="StartEvent_1" name="Invoice&#10;received" camunda:formKey="embedded:app:forms/start-form.html">
  <outgoing>SequenceFlow_1</outgoing>
</startEvent>

如果要接收起始表单变量,则进程的start事件必须类似于以下示例:

<startEvent id="start">
  <extensionElements>
    <camunda:formData>
      <camunda:formField id="stringField" label="String Field" type="string" defaultValue="someString">
        <camunda:validation>
          <camunda:constraint name="maxlength" config="10" />
          <camunda:constraint name="minlength" config="5" />
        </camunda:validation>
      </camunda:formField>
      <camunda:formField id="longField" label="Long Field" type="long" defaultValue="5">
        <camunda:validation>
          <camunda:constraint name="max" config="10" />
          <camunda:constraint name="min" config="3" />
        </camunda:validation>
      </camunda:formField>
      <camunda:formField id="customField" label="Custom Field" type="string">
        <camunda:validation>
          <camunda:constraint name="validator" config="org.camunda.bpm.engine.test.api.form.CustomValidator" />
        </camunda:validation>
      </camunda:formField>
      <camunda:formField id="dateField" label="Date Field" type="date" defaultValue="10/01/2013" />
    </camunda:formData>
  </extensionElements>
</startEvent>

有关完整的示例流程,请参阅here。 在这种情况下,FormService可以解析表单变量,请求将返回已定义的变量。