【问题标题】:BRE rule not firing when called from ESB Toolkit Itinerary从 ESB 工具包行程中调用 BRE 规则时未触发
【发布时间】:2016-09-29 18:03:04
【问题描述】:

运行 BizTalk 2013r2 解决方案,我有以下行程:

一切都好到所选的“Auth Endpoint Detail”

这是调用 BRE,传递以下消息:

<ns0:MasterCardRequest xmlns:ns0="http://www.EsbToolkit.TargetWebService/Authorization/MasterCardRequest">
  <ns0:AuthAmount>300</ns0:AuthAmount>
  <ns0:CardNumber>1111-1111-1111-1111</ns0:CardNumber>
  <ns0:OrderNumber>130</ns0:OrderNumber>
</ns0:MasterCardRequest>

这应该会触发以下“MasterCard”规则 - 然后会在消息的上下文中发送端点值:

问题是 - 它没有开火!当我从 BRE Composer 中手动“测试策略”时,它会触发。但是,当我通过 BizTalk 运行消息并检查 DebugView 时,我看到以下内容:

我已仔细检查是否已部署正确版本的策略。 如果有任何关于规则没有触发的想法,我将非常感激。

【问题讨论】:

  • 您要解析多少个端点?你真的需要使用 ESBT 吗?角色在这里看起来也是一个选项。
  • 是的,需要将此解决方案的工具包作为 PoC 的一部分使用
  • 好吧,现在是排除 ESBT 的最佳时机。 :)
  • 哈哈,我想你不是粉丝?我必须说,我很难证明额外的复杂性是合理的。
  • 赢家,赢家。我从未见过 ESBT 让任何事情变得更容易,只是更难开发、调试和支持。仅使用 BRE 就可以轻松实现动态路由。

标签: biztalk biztalk-2013r2 esb-toolkit-2.0


【解决方案1】:

您可以检查 BRE 规则集中定义的文档类型属性是否与调试视图中显示的 DocType 匹配。 BRE 解析器机制没有很好的文档记录,也许这会有所帮助:which is the meaning of recognize message format property?

此外,当 doctype 是通用的时,建议在规则中避免命名空间名称。

【讨论】:

  • 谢谢 dmitrio,问题是我的规则“存在于 Microsoft.Practices.Esb.ResolveProviderMessage 中”——“ESB”字母必须全部大写
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-28
  • 2023-03-15
相关资源
最近更新 更多