This has been confirmed to be an inconsistent behavior from the rete network and rules engine and it has been identified as a bug. It would be fixed in the future releases (not sure of the release). Till if you face the same issue, you can survive with two workarounds:
A: Make call outs to rules from BPEL
- Call D1 from BPEL, execute rules in D1
- Instead of calling D2 from D1, call D2 from BPEL
- Then call D1 again. The rete network in this case initializes D1 with facts available in Step2
- Call D1, then D2 from decision function of D1
- Modify F1 to F1.1 in D2
- Using advanced functions do a assert and return of F1.1 (this makes the rete refresh the facts)
- Return control to D1 and proceed
Keep tracking this thread for the update on the bug and fix for the same !
Peace!
Cheers,
- AR
No comments:
Post a Comment