来自WCF-SQL的debatched消息的BizTalk映射

时间:2015-02-26 18:21:29

标签: biztalk biztalk-2010 biztalk-mapper

一天中的好时光。

希望得到BizTalk解决方案的一些帮助,我们正在努力。

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

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

  • 将WCF-SQL生成的模式拆分为两个,即Envelope + Array和Message。不确定是否可能。关于这个想法的一些东西并不适合我。
  • 以某种方式更改debatched消息的名称空间。不知道如何实现。

欢迎任何想法。谢谢!

1 个答案:

答案 0 :(得分:0)

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

  • 信封架构不需要代表整个消息结构,只需要代表被扣押儿童的Body元素。
  • 该debatched消息将是它自己独立的Schema。
  • 信封架构甚至不需要以任何方式引用消息架构。
  • 通常最好将自定义管道与XmlDisassembler一起使用,该管道在设计时设置了Envelope Schemas和Document Schemas属性。

WCF绑定实际上会为您生成已经分开的模式。创建Map时,您可以选择 StoredProcedureResultSet0 而不是ArrayOfStoredProcedureResultSet0。

如果你设置了根参考,你就不会得到这样的选择,如果它是。