Biztalk杰出的领域问题

时间:2015-03-20 19:53:11

标签: biztalk biztalk-mapper biztalk-orchestrations

我在biztalk中传递了一条消息,导致以下暂停消息:

  

内部异常:评估区分时发生故障   字段MessageStatus对消息部分数据。消息部分   数据不包含XPath指定的至少一个节点   表达式(在下面列出)对应于可分辨字段。   此错误的原因可能是消息部分数据没有   已初始化或消息部分数据不符合   消息

在我的业务流程中,我使用的地图将名为textID的ID映射到我构造的消息“MessageAttempt”中的textID字段。我还有一个名为MessageStatus的字段,其值设置为“Nothing”,不要混淆。

在我的地图之后,我使用消息赋值形状将MessageAttempt.MessageStatus元素设置为“Attempted”,并使用以下代码:

Message_MessageAttempt.MessageStatus = var_Attempt;

我一整天都想弄清楚这一点。我在我的业务流程中的不同分支上有类似的ConstructedMessage / Transform / Assignment形状设置相同并且工作得很好。我不确定我能错过什么。

1 个答案:

答案 0 :(得分:1)

XPath functoin无法找到该元素。这有两个可能的原因。

  1. 元素不存在。如果它不存在,则必须先创建它。您可以在地图中将其value属性设置为<empty>,或使用空的String Concatenate functoid及其输出到该节点。
    您应该能够通过进入组中心,打开已暂停的消息以及查看消息部分来验证这一点。您会发现它不包含XPath引用的节点。

  2. 邮件中的命名空间未正确限定。如果您不为消息使用名称空间前缀并且仅依赖于默认/空xmlns,则业务流程中的XPath会遇到问题。