【问题标题】:using wcf-sql adapter使用 wcf-sql 适配器
【发布时间】:2012-03-05 08:44:33
【问题描述】:

我需要轮询xml格式的数据,并映射到EDI 834…………

我已经使用 for xml auto,element 编写了存储过程

当我使用添加适配器元数据使用它时,我收到一条 xml 消息....

但我需要使用此 xml 消息将其映射到 EDI834 ....如何获取 xml 的结构以便我可以在映射中使用它....

我也关注了http://social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/6a7e0093-0692-4ba5-9e14-0d2090c2cf54

此线程并使用 xml 轮询生成方案并将其映射到 EDI834。

但是当我使用地图进入出站地图时......它不会将轮询数据映射到 edi 834..

【问题讨论】:

    标签: biztalk biztalk-2009 biztalk-2010 edi biztalk2006r2


    【解决方案1】:

    WCF-SQL 适配器无需使用“for xml auto, elements”语法。这是旧 Sql Adapter 遗留下来的遗留物。

    只需以返回一致结果集的方式编写存储过程,然后针对存储过程生成元数据。适配器框架将根据您的存储过程返回的元数据创建适当的架构。

    然后简单地将数据从 WCF-SQL 架构映射到 EDI834 架构。

    【讨论】:

    • 它还会处理嵌套节点吗...因为嵌套节点也很多
    • 我尝试删除 xml auto,element 语法.....它没有给出适当的结构......
    • 你得到什么结构?发布您收到的内容与您的预期内容可能有助于找出问题所在。
    【解决方案2】:

    使用 FOR XML PATH 语法创建返回 xml(或 xml 部分)的存储过程

    -使用 WCF-SQL 设置接收位置。选择 XmlPolling。为适配器选择一个根名称和命名空间,以包装从 SQL 返回的 xml(强制)。

    -将轮询语句设置为:exec [SPNAME]

    -将 PollDataAvailableStatement 设置为适当的值,如果有要轮询的行/xml,则返回计数 > 0。

    -使用 passthrureceive 管道作为接收位置

    -设置一个发送端口 (FILE),订阅来自用于接收位置的接收端口的所有内容。

    -启动应用程序。检查从适配器返回的 XML。

    -在 VS 中使用格式良好的 XML 生成架构(添加->添加生成的项目->生成架构)(注意:您可能必须运行 BizTalk SDK/Utilities/Schema 生成器下的 InstallWFX.vbs,如果您之前还没有在机器上这样做过)。

    -选择适配器生成的 xml 文件(给文件一个代表您尝试创建的架构的名称)。

    -现在您应该有一个表示适配器返回的 xml 的模式,您可能必须手动检查该模式并将数据类型更改为比向导选择的更合适的类型。

    【讨论】:

      猜你喜欢
      • 2012-07-06
      • 1970-01-01
      • 2012-11-22
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-07
      相关资源
      最近更新 更多