我试图通过休息获取流程启动变量,但我无法接收任何启动变量。
当我尝试:
http://192.168.30.1:8080/engine-rest/process-definition/key/invoice/form-variables
我只得到了这个:
{}
如何获取流程启动变量?
答案 0 :(得分:2)
这是因为资源Get Start Form Variables仅支持Generated Start Forms。
发票流程使用Embedded Start Form。发票流程的开始事件引用外部HTML文件,该文件用于呈现“开始”表单。
请参阅here:
<startEvent id="StartEvent_1" name="Invoice 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可以解析表单变量,请求将返回已定义的变量。