0

BPEL 流程包含一个 Java 调出,用于执行在 BPEL 中不切实际的逻辑。

该 Java 调用又调用另一个 BPEL 工作流(使用 DII WS 调用)。

BPEL1 -> (Java Embedding) -> Java code -> (SOAP call) -> BPEL2

一切正常,除了一个烦人的细节:在企业管理器中查看调用堆栈时,这两个 BPEL 流程没有链接(即没有显示为一棵树)。这会导致故障排除时出现一些延迟和混乱。

当使用常规调用步骤调用同一个子 BPEL 时,流程将被链接。

问题是:BPEL 如何将父信息传递给子流程?我认为这是一些 HTTP 或 SOAP 标头,我将很快进行调查。我希望之前有人遇到过这个挑战,并且会概述我所有必要的步骤。:-)

4

1 回答 1

0

根据我的经验,在 BPEL 中使用 java 嵌入(使用 IBM 或 Oracle BPEL 引擎)不适合复杂的使用。

我宁愿尝试在 BPEL 调用的 java SCA 组件中执行我的复杂逻辑。

SCA 组件java 实现被命名为“spring 组件”。

您可以进行以下流程:

BPEL1 -> Java spring component -> BPEL2

电线可以是直接的,也可以是通过肥皂的。

EM 实例树是使用 Instance 唯一 ID 生成的,当您从 Java 代码进行 soap 调用时,您无法传播此 ID。

此 ID 传输由 SCA 引擎管理

于 2011-09-16T14:57:26.900 回答