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



我在BizTalk中有一个具有CallRules形状的编排。编排没有像预期的那样运行,我将问题缩小到业务规则引擎(Business Rules Engine, BRE)。

我在Business Rules Composer中使用了Test Policy功能,并为其提供了一个消息实例。BRE对这些规则进行了评估,在检查输出时,似乎有一条规则已经完全得到满足。该规则中的每个条件都求值为真,但操作尚未应用于我的消息。

我不明白为什么会这样——如果满足条件,为什么不应用操作?!

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

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

对于64位安装,密钥可以在HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftBusinessRules3.0中找到,而不是MSDN上指定的路径。

我不确定为什么BRE不警告某些操作不能应用-这将是非常有用的。

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

最新更新