biztalk - 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
属性上,但再次 - 看不到修剪已经修剪过的字段会造成什么伤害。
我还尝试在开发环境中复制逻辑,当我传递消息时,它会按预期工作在正确的分支上。
解决方案
推荐阅读
- html - 重新编码动态录制的音频流?
- javascript - 如何在 Chart.js 上设置 y 轴标签?
- amazon-web-services - 无法通过 boto3 删除 route53 记录集
- python - Django保存全局API客户端实例变量的正确方法
- javascript - 如何对键是数字字符串的数组进行排序
- python-3.x - 如何从 sympy 矩阵中选择多列?索引损坏?
- python - 仅将列表长度等于 1 的行转换为字符串
- python - 如何根据其他列中的两个条件在特定位置插入多列
- javascript - FormType 未在 Dynamics CRM 2016 上返回正确的值
- c# - 如果日期不是低日期,则仅包含在 where 条件中(01/01/0001)