我正在努力让BPEL foreach完成条件工作。因此我做了一个非常简单的测试用例。我有一个foreach循环,等待$ Counter秒,然后将$ Counter值分配给输出。因此,使用4个循环并将属性“parallel”设置为no,我等待10秒(1 + 2 + 3 + 4)并获得响应“1234”。使用“parallel”= yes我等待4秒(因为并发行为)并获得相同的结果。
现在我添加完成条件。第79行http://pastebin.com/MbLMcNag
规范说:
当所有孩子的孩子完成时,活动没有完成。可选地指定该元素以防止某些子进程执行(在串行情况下),或强制某些子进程提前终止(在并行情况下)。
所以我希望得到的结果只有“12”并且在顺序情况下等待3秒,在并行情况下等待2秒。但我总是得到“1234”并等待10/4秒。所以完成条件完全被忽略了。你能告诉我我做错了什么吗?
我在Tomcat上运行Apache ODE 1.3.5。
这是完整的bpel过程: http://pastebin.com/MbLMcNag