Oracle:BPEL->Java Callout->BPEL:如何使它们在EM中属于同一调用树?
BPEL 流程包含一个 Java 标注来执行在 BPEL 中不切实际的逻辑。
该 Java 标注又调用另一个 BPEL 工作流(通过 DII WS 调用)。
BPEL1 -> (Java Embedding) -> Java code -> (SOAP call) -> BPEL2
一切都工作正常,除了一个烦人的细节:当在企业管理器中检查调用堆栈时,这两个 BPEL 流程没有链接(即没有显示为一棵树)。这会导致故障排除过程中出现一些延迟和混乱。
当使用常规调用步骤调用同一个子 BPEL 时,流程就会链接起来。
问题是:BPEL 如何将父进程信息传递给子进程?我认为这是一些 HTTP 或 SOAP 标头,我将很快进行调查。我希望有人以前遇到过这个挑战,并且能向我概述所有必要的步骤。 :-)
A BPEL process contains a Java callout to do a logic that would be impractical to do in BPEL.
That Java callout in turn calls another BPEL workflow (with a DII WS call).
BPEL1 -> (Java Embedding) -> Java code -> (SOAP call) -> BPEL2
All is working fine, except one annoying detail: when the call stack is reviewed in Enterprise Manager, these two BPEL processes are not linked (i.e. not shown as one tree). This causes some delays and confustion in troubleshooting.
When the same child BPEL is called using regular invoke step, the processes are linked.
Question is: how BPEL passes the parent information to the child process? I would think it is some HTTP or SOAP header, and that I will investigate soon. I hope though that someone had this challenge before and would just outline me all the necessary steps. :-)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据我的经验,在 BPEL 中使用 java 嵌入(无论是使用 IBM 还是 Oracle BPEL 引擎)并不适合复杂的使用。
我宁愿尝试在 BPEL 调用的 java SCA 组件中执行复杂的逻辑。
SCA组件java实现被命名为“spring组件”。
您可以进行以下流程:
电线可以是直接的,也可以是通过肥皂的。
EM 实例树是使用实例唯一 ID 生成的,当您从 Java 代码进行肥皂调用时,您无法传播此 ID。
该ID传输由SCA引擎管理
On my experience, the use of java embedding in BPEL (either with IBM or Oracle BPEL engine) is not suitable for complex usage.
I would rather try to perform my complex logic in a java SCA component invoked by the BPEL.
The SCA component java implementation is named "spring component".
You could make the following flow :
The wires could be either direct or through soap.
The EM instance tree is generated with the Instance unique ID, when you made your soap call from your java code, you can't propagate this ID.
This ID transmission is managed by the SCA engine