首页 > 解决方案 > BizTalk 2013 R2 - 决策形状不遵循正确的逻辑路径

问题描述

旧 Biz 应用程序(不是我自己设计或开发的)的问题。

它的编排接收特定的消息,然后将其馈入决策形状。如果以下逻辑适用(直接从形状第一个分支表达式复制/粘贴),它应该走那条路。

msg_inputCanonical.CRUD == "D" && msg_inputCanonical.DbTable == "Staff"

但是,我可以看到它终止(通过使用编排调试器),因为它遵循 Else 分支并最终达到终止形状。

我检查了 msg_inputCanonical 以确认正在传递的值(如下从 Tracked Message 部分中提取的),并且可以看到它根据其映射匹配字符串条件 - CRUD = ChOp;

<DbTable>Staff</DbTable>
<ChOp>D</ChOp>

我看不到其他任何东西会影响这条重新路由,所以任何人都可以想到可能导致它的任何怪癖吗?

注意:我已经修改了生成 msg_inputCanonical 的 WCF-SQL 存储过程,因为在此之前它没有修剪任何 CRUD/DbTable 值并且已经留下了死区。还有一个使用 ltrim/rtrim functoids 的地图在ChOp属性上,但再次 - 看不到修剪已经修剪过的字段会造成什么伤害。

我还尝试在开发环境中复制逻辑,当我传递消息时,它会按预期工作在正​​确的分支上。

标签: biztalkbiztalk-2013r2

解决方案


推荐阅读