【问题标题】:Should/can a BizTalk BRE ruleset have multiple versions?BizTalk BRE 规则集应该/可以有多个版本吗?
【发布时间】:2014-05-19 16:09:41
【问题描述】:

BizTalk BRE 规则集应该/可以有多个版本吗?

我得到了一些 BRE 规则的导出,并注意到一些规则集有多个 <version> 元素,例如

<brl xmlns="http://schemas.microsoft.com/businessruleslanguage/2002">
  <ruleset name="ExampleRule">
    <version major="1" minor="3" date="2013-04-17T19:02:05.748159+01:00" />
    <version major="1" minor="0" date="2013-04-17T19:05:58.2361695+01:00" />
    <...

  <ruleset name="ExampleRule">
    <version major="1" minor="2" date="2013-03-29T08:23:43.6502257+00:00" />
    <...

这有效吗?

【问题讨论】:

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


    【解决方案1】:

    BRE 本身支持策略的多个部署版本,在 API 中您可以通过重载指定版本号,否则使用最高部署版本。

    但是,调用规则形状不支持指定特定的策略版本。因此,调用规则形状将始终使用策略的最高部署版本。

    您是否维护多个版本取决于相关应用。我已经看到了业务流程或监管需求需要这样做的案例。在 BizTalk 中适应这种情况的一种方法是在编排中使用“主策略”,该策略在内部计算并执行适当的子策略版本。

    至于版本元素,这似乎是一个有效的构造,但我无法重现它。向导一次只会导出一个版本或一个策略,因此,这要么是使用 API 在代码中导出的,要么是一起剪切和粘贴的。我使用过 API 并没有注意到这一点。

    无论哪种方式,导入函数都会应用 xml 中最后一个版本元素的版本信息,不是最高版本,所以如果你重新排序版本元素,你会得到不一致的结果。

    最后一点,多个版本元素通过导入/导出以相同的顺序保留。

    【讨论】:

    • 感谢您的回复,但我的问题与具有多个 有关。我的导出包含两次相同的 ,一个有一个 (1.2),另一个有两个 (1.0 和 1.3)。我试图了解这是如何发生的,即如果记录了对 的每次更改,为什么没有三个单独的 ,分别为 1.0、1.2 和 1.3?但在我的示例导出中,1.0/1.3 和 1.2 是不同的
    • 啊,我明白了。我检查了几个导出的策略,它们都有一个版本元素。答案已更新...
    • 再次感谢您的回复......是的,我发现它是最后一个 元素的皱纹,而不是被使用的最高元素......讨厌:-(
    猜你喜欢
    • 1970-01-01
    • 2019-03-28
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 2015-01-01
    相关资源
    最近更新 更多