尽管条件得到满足,BizTalk规则引擎仍未触发操作

时间:2011-11-24 16:35:18

标签: biztalk rule-engine biztalk-2010 biztalk-2009 biztalk-rule-engine

我在BizTalk中有一个编排,其中有CallRules形状。业务流程的行为不符合预期,我将问题缩小到业务规则引擎(BRE)。

我使用了Business Rules Composer中的测试策略功能,并为其提供了一个消息实例。 BRE评估了规则,并且在检查输出时,似乎已完全满足其中一条规则。该规则中的每个条件都已评估为true,但操作尚未应用于我的消息。

我无法弄清楚为什么会这样 - 如果条件得到满足,为什么不采取行动?!

1 个答案:

答案 0 :(得分:6)

事实证明,这需要一个新的注册表项来允许在BRE中调用静态.NET类成员。

请参阅this MSDN article,其中描述了每个方案的注册表项应该是什么。默认情况下它不存在,因此默认为零,这需要首先断言类实例。

对于64位安装,密钥可以在 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ BusinessRules \ 3.0 中找到,而不是在MSDN上指定的路径。

我不确定为什么BRE不会警告某些行为无法应用 - 这将非常有用。

当您在名为RULE FIRED测试政策输出中看到一个条目时,您可以确定您的规则已得到满足并应用了相应的操作。