BizTalk业务规则引擎-重复元素
我试图创建一个相对简单的业务规则,在XML模式中对重复的元素进行操作 考虑以下XML片段(为了可读性,删除了名称空间,简化了该片段):BizTalk业务规则引擎-重复元素,biztalk,business-rules,biztalk-rule-engine,Biztalk,Business Rules,Biztalk Rule Engine,我试图创建一个相对简单的业务规则,在XML模式中对重复的元素进行操作 考虑以下XML片段(为了可读性,删除了名称空间,简化了该片段): 我想做的是有两条规则: Set/Root/AllAccounts/Account[x]/AllCustomers/Customer[primary='true']/canselfservice =如果欠款金额=当前付款,则为false 其中[x]是0…XML中存在的/Root/AllAccounts/Account记录数 为此,我尝试了两个简单的规则,每
我想做的是有两条规则:
- Set/Root/AllAccounts/Account[x]/AllCustomers/Customer[primary='true']/canselfservice =如果欠款金额<当前付款,则为true
- Set/Root/AllAccounts/Account[x]/AllCustoemrs/Customer[primary='true']/canSelfServer =如果欠款金额>=当前付款,则为false
Andrew确保规则具有相同的优先级,以防万一(我以前在优先级方面有问题)。我还看到,在规则级别上,有一个称为“最大执行循环深度”的属性,它指定可以重新评估规则的次数。如果您确定您的规则在每个有效负载中只应评估一次,请尝试将1放在那里。我希望这有帮助。检查您的谓词。该规则为谓词中使用的每个匹配字段组合触发一次
<Root>
<AllAccounts>
<Account id="1" currentPayment="10.00" arrearsAmount="25.00">
<AllCustomers>
<Customer id="20" primary="true" canSelfServe="false" />
<Customer id="21" primary="false" canSelfServe="false" />
</AllCustomers>
</Account>
<Account id="2" currentPayment="10.00" arrearsAmount="15.00">
<AllCustomers>
<Customer id="30" primary="true" canSelfServe="false" />
<Customer id="31" primary="false" canSelfServe="false" />
</AllCustomers>
</AllAccounts>
</Root>