外部任务处理程序如何设置变量并让后续 activity 读取该变量?

How can an External Task Handler set a variable and let subsequent activity read this variable?

我有一个非常简单的三步工作流程,其中所有步骤都由外部任务处理程序处理。

在第一步 Erstelle Rechnung(创建发票)中,外部任务处理程序创建一个 PDF 文档并在完成时添加到流程中。

externalTaskService.complete(externalTask, Map.of("pdf", "pdf byte array");

如下图所示,变量 pdf 已写入 activity Erstelle Rechnung.

不幸的是,该变量对于后续 activity Bestätigungsemail an Mitglied schicken.

谁能帮我解决这个问题。我错过了什么?该变量是否应该在后续 activity 的层次结构中可见?

你遇到了什么问题 - 尝试使用变量 pdf 时出现 Nullpointer?

因为在突出显示 activity 时看不到变量并不意味着它不存在。正如您的屏幕截图所示 - pdf 在正确的范围内(如果您的流程是 'Ticketbestellung';)),因此它应该可用于下一个外部任务。

我的猜测是您在获取任务的方式上遇到了问题。 (也许您可以将此添加到您的问题中)

另一点让我感到奇怪的是,您如何将文件作为变量提供。我觉得应该是这样的

  FileValue variableValue = Variables.fileValue(filename).file(byteContent).mimeType(mimeType).create();
  Variables.createVariables().putValue("pdf", variableValue);