Oracle:BPEL->Java Callout->BPEL:如何使它们属于EM中的同一个调用树?
Posted
技术标签:
【中文标题】Oracle:BPEL->Java Callout->BPEL:如何使它们属于EM中的同一个调用树?【英文标题】:Oracle: BPEL->Java Callout->BPEL: how to make them belong to the same call tree in EM? 【发布时间】:2011-09-13 22:20:54 【问题描述】:BPEL 流程包含一个 Java 调出,用于执行在 BPEL 中不切实际的逻辑。
该 Java 调用又调用另一个 BPEL 工作流(使用 DII WS 调用)。
BPEL1 -> (Java Embedding) -> Java code -> (SOAP call) -> BPEL2
一切正常,除了一个烦人的细节:在企业管理器中查看调用堆栈时,这两个 BPEL 流程没有链接(即没有显示为一棵树)。这会导致故障排除时出现一些延迟和混乱。
当使用常规调用步骤调用同一个子 BPEL 时,流程是链接的。
问题是:BPEL如何将父信息传递给子流程?我认为这是一些 HTTP 或 SOAP 标头,我将很快进行调查。我希望之前有人遇到过这个挑战,并且会概述我所有必要的步骤。 :-)
【问题讨论】:
【参考方案1】:根据我的经验,在 BPEL 中使用 java 嵌入(使用 IBM 或 Oracle BPEL 引擎)不适合复杂的使用。
我宁愿尝试在 BPEL 调用的 java SCA 组件中执行我的复杂逻辑。
SCA 组件 java 实现被命名为“spring 组件”。
您可以进行以下流程:
BPEL1 -> Java spring component -> BPEL2
电线可以是直接的,也可以是通过肥皂的。
EM 实例树是使用 Instance 唯一 ID 生成的,当您从 Java 代码进行 soap 调用时,您无法传播此 ID。
此 ID 传输由 SCA 引擎管理
【讨论】:
以上是关于Oracle:BPEL->Java Callout->BPEL:如何使它们属于EM中的同一个调用树?的主要内容,如果未能解决你的问题,请参考以下文章
java.sql.SQLException: Io 异常: Got minus one from a read call