【问题标题】:Xpath error with distinguished field带有区分字段的 Xpath 错误
【发布时间】:2015-08-14 10:22:38
【问题描述】:

在我的消息构造形状中的转换形状中,我可以使用手动定义的元素值创建一个 xslt,并且没有任何问题。现在,我在转换后添加了一个消息分配形状,并使用了输入模式中的可区分字段,但出现以下错误:

根据消息部分数据评估可区分字段 msgId 时发生故障。消息部分数据至少不包含由 XPath 表达式(如下所列)指定的对应于可区分字段的节点之一。此错误的原因可能是消息部分数据尚未初始化或消息部分数据不符合消息部分模式。确保消息部分数据已正确初始化。 XPath 表达式:/*[local-name()='Input' and namespace-uri()='http://input.gfd.com']/*[local-name()='msgId' and namespace-uri()='']

我已经在我的 xslt 映射中初始化了 msgID 字段,但问题仍然存在:我错过了什么吗?

Input.msgId = "c7a340a7e3e4c3fb0d9837a0800bb4e6";

输入消息(消息部分)

 <output:Output xsi:type="output:yOutput" xmlns:output="http://output.scv.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <outputType>Success</outputType>
                <Scv>
                     <msgId>c7a340a7e3e4c3fb0d9837a0800bb4e6</msgId>
                     <scvNum>14020082690001300</scvNum>
                </Scv>
    </output:Output>

虽然在我的实际代码中,我正在手动分配 msgID。

【问题讨论】:

  • 嗯,这是一个非常清晰的信息:它来自什么软件? (您已标记问题 biztalk,这是否相关?)它建议您查看“消息部分数据”,如果您向我们展示它,我接下来会这样做。
  • edit:添加了输入消息。是的,这是 biztalk
  • 所以 XML 元素 是你的 输入
  • XPath 表达式旨在检查最外层元素名为“Input”的文档,而您已经向我们展示了一个其最外层元素名为“Output”的文档。也许这就是信息想要表达的意思。
  • 我将数据输出到输入的原因是因为在编排中我必须向服务器发送输入,我收到输出响应,然后我必须过滤输出记录,最后再次将数据发送回服务器。

标签: xml xslt xpath biztalk


【解决方案1】:

我解决了这个问题。 biztalk 不想区分架构中的正确 msgId。我通过使用 xpath 语法而不是使用区分字段解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多