我在biztalk中传递了一条消息,导致以下暂停消息:
内部异常:评估区分时发生故障 字段MessageStatus对消息部分数据。消息部分 数据不包含XPath指定的至少一个节点 表达式(在下面列出)对应于可分辨字段。 此错误的原因可能是消息部分数据没有 已初始化或消息部分数据不符合 消息
在我的业务流程中,我使用的地图将名为textID的ID映射到我构造的消息“MessageAttempt”中的textID字段。我还有一个名为MessageStatus的字段,其值设置为“Nothing”,不要混淆。
在我的地图之后,我使用消息赋值形状将MessageAttempt.MessageStatus元素设置为“Attempted”,并使用以下代码:
Message_MessageAttempt.MessageStatus = var_Attempt;
我一整天都想弄清楚这一点。我在我的业务流程中的不同分支上有类似的ConstructedMessage / Transform / Assignment形状设置相同并且工作得很好。我不确定我能错过什么。
答案 0 :(得分:1)
XPath functoin无法找到该元素。这有两个可能的原因。
元素不存在。如果它不存在,则必须先创建它。您可以在地图中将其value属性设置为<empty>
,或使用空的String Concatenate functoid及其输出到该节点。
您应该能够通过进入组中心,打开已暂停的消息以及查看消息部分来验证这一点。您会发现它不包含XPath引用的节点。
邮件中的命名空间未正确限定。如果您不为消息使用名称空间前缀并且仅依赖于默认/空xmlns,则业务流程中的XPath会遇到问题。