0

一天中的好时光。

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

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

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

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

欢迎任何想法。谢谢!

4

1 回答 1

0

It sound like you have all the hard stuff done already so here's a couple of hints that will get you what you're looking for:

  • The Envelope Schema does not need to represent the entire Message Structure, just down to the Body element from where the debatched children are taken.
  • The debatched message would then be it's own separate Schema.
  • The Envelope Schema does not even need to reference the Message Schema in any way.
  • It's usually better to use a custom Pipeline with the the XmlDisassembler that has the Envelope Schemas and Document Schemas properties set at Design Time.

The WCF binding actually generates the Schemas already separated for you. When you create the Map, you would choose StoredProcedureResultSet0 instead of ArrayOfStoredProcedureResultSet0.

If you set the Root Reference, you would not get the choice so unset that if it is.

于 2015-02-26T19:11:09.980 回答