如何将已发送邮件传递给的流程实例的ProcessInstanceId?
我通过REST API发送消息。
答案 0 :(得分:2)
您可以在邮件中添加一些唯一标识符作为流程变量(请参阅例如Camunda BPM REST API 'message' endpoint)。在真正收到消息后,您的目标流程实例会保留这样的流程变量。
因此,在发送消息之后,您可以作为接收流程实例的第二步查询(参见例如Camunda BPM REST API 'get-instances' endpoint),其中包含具有预期标识符的变量。
答案 1 :(得分:-2)
AFAIK执行此操作的唯一方法是在邮件中包含源执行或进程ID。如果您通过运行时服务API发送消息,那么您的代码应如下所示:
PUT runtime/executions/{executionId}
执行此代码后,接收进程可以检索进程var“senderProcessInstanceId”的内容,以便知道谁是发送者。
如果您使用REST API,则使用
{
"action":"messageEventReceived",
"messageName":"myMessage"
"variables": [ {"name": "senderProcessInstanceId", "value":"xxxxx"} ]
}
使用类似的JSON主体:
{{1}}