【问题标题】:Error thrown in Microsoft Biztalk Intertop Component, when sending documents using a multiple root schema使用多根架构发送文档时,Microsoft Biztalk Intertop 组件中引发错误
【发布时间】:2019-02-21 15:32:39
【问题描述】:

我从客户那里收到了一个包含多个根节点的架构,以及一个包含单个根节点的示例 XML 文件。架构中的节点相互引用,从顶部节点开始。我创建了一个使用此架构在 BizTalk 中使用的地图,并部署了地图和架构。但是,通过 BizTalk 发送文档时,会抛出以下错误:

堆栈跟踪:在 Microsoft.BizTalk.Component.Interop.DocumentSpec.get_TypeMetadata()
在 Microsoft.BizTalk.Component.Interop.DocumentSpec.get_DocType()
在 Microsoft.BizTalk.Component.MsgTypeSchema..ctor(IPipelineContext pipelineContext, SchemaList envSpecName, SchemaList docSpecName) 在 Microsoft.BizTalk.Component.XmlDasmReader.CreateReader(IPipelineContext pipelineContext,IBaseMessageContext 消息上下文, MarkableForwardOnlyEventingReadStream 数据,编码编码,布尔值 saveEnvelopes,布尔值 allowUnrecognizedMessage,布尔值 validateDocument,SchemaList 信封规范名称,SchemaList documentSpecNames, IFFDocumentSpec docSpecType, S

我不确定如何阅读它,但该消息似乎缺少一些所需的元数据。消息也被暂停。

让您了解架构在 Visual Studio 中的外观:

在 BizTalk 中,每个节点都创建为单独的架构,具有不同的根节点,但具有相同的目标命名空间、名称和程序集。 为什么 BizTalk 不能将文档路由到正确的架构?我是否需要对当前架构进行一些更改?发送的文档都有一个根节点,其中包含一个目标命名空间。

我已经尝试重新部署映射和架构、重新启动主机实例以及删除/添加目标命名空间,但到目前为止没有任何效果。 BizTalk 中有一些架构具有相同的根节点,但目标命名空间不同。我不确定这些是否会导致问题。

【问题讨论】:

    标签: xml schema biztalk


    【解决方案1】:

    单击架构,然后在“属性”窗口中查找名为“根引用”的项并将其设置为根元素

    如果它们有不同的命名空间,那么这些都不会导致问题。

    【讨论】:

      猜你喜欢
      • 2015-01-27
      • 2013-06-04
      • 1970-01-01
      • 2016-08-15
      • 2012-08-25
      • 1970-01-01
      • 2014-06-06
      • 1970-01-01
      • 2021-01-22
      相关资源
      最近更新 更多