【问题标题】:BizTalk mapping for a debatched message from WCF-SQL来自 WCF-SQL 的分批消息的 BizTalk 映射
【发布时间】:2015-04-29 06:28:54
【问题描述】:

一天中的好时光。

希望就我们正在解决的 BizTalk 解决方案获得一些帮助。

我通过使用 WCF-SQL 向导并选择类型化轮询生成了适配器。它开箱即用。我能够创建一个文件类型的发送端口,我的消息在 XML 批处理中放置。作为下一步,我通过修改生成实体的模式、将其更改为信封并配置叶节点来分批消息。太好了,现在我有一堆文件,每条消息一个位于我的发送端口的文件夹中。现在我正在尝试针对新创建的消息创建一个地图。这就是问题开始的地方。如果我基于 WCF-SQL 向导为我生成的相同架构创建地图,那么我拖动信封 -> 数组 -> 消息的整个结构,这当然与单个消息的结构不匹配,并且地图不工作。如果我要基于来自发送端口文件目录的单个 XML 消息创建新架构,它生成的架构与我的信封的现有架构共享名称,因此 BizTalk 服务器会引发错误。

我在想也许我可以完成以下任务之一:

  • 将 WCF-SQL 生成的架构拆分为两部分,信封 + 数组和消息。不确定是否可能。我对这个想法有些不满。
  • 以某种方式更改分批消息的命名空间。不知道如何实现。

欢迎任何想法。谢谢!

【问题讨论】:

    标签: biztalk biztalk-2010 biztalk-mapper


    【解决方案1】:

    听起来你已经完成了所有困难的事情,所以这里有一些提示可以帮助你找到想要的东西:

    • Envelope Schema 不需要表示整个消息结构,只需要下到 Body 元素即可。
    • 分批的消息将成为它自己的单独架构。
    • 信封架构甚至不需要以任何方式引用消息架构。
    • 通常最好将自定义管道与 XmlDisassembler 一起使用,该管道在设计时设置了 Envelope Schemas 和 Document Schemas 属性。

    WCF 绑定实际上会生成已经为您分离的架构。创建地图时,您将选择 StoredProcedureResultSet0 而不是 ArrayOfStoredProcedureResultSet0。

    如果您设置了根引用,您将不会得到如此未设置的选项。

    【讨论】:

      猜你喜欢
      • 2012-03-19
      • 2013-10-27
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 2012-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多