【问题标题】:Publish Biztalk WCF Service with multiple schema files and <includes>使用多个架构文件和 <includes> 发布 Biztalk WCF 服务
【发布时间】:2012-08-20 21:54:27
【问题描述】:

我这里是这样的:

Visual Studio 2010 中的 Biztalk 项目,在 Biztalk 2010 服务器上运行的相应 Biztalk 应用程序。接收端口接受 HL7-V3 架构,将其转换为发送到 SQL Server 2008 实例并通过存储过程插入到表中的架构。当接收端口使用 FILE 适配器时,一切都按预期工作(来自 HL7 文件的数据被插入到表中)。

因此,我们达到了需要 Web 服务以通过 Web 公开接收端口的地步……太好了,我们在 VS2010 中内置了“Biztalk WCF 服务发布向导”。这就是我停下脚步的地方。

我可以按照向导的“创建”步骤进行操作,它使 从 Biztalk 程序集提取模式大约进行到一半,然后它会报错并引发一般错误:

“给定的键不在字典中”

经过多次搜索和摸索后,我终于知道该向导使用 Xsd.exe(对我来说是新的)从模式生成代码。这让我看到了 MSDN 库文章 Here,其中指出 Xsd.exe 忽略了包含的架构。好吧,我们正在使用的消息的 HL7V3 模式集总共有大约 30 个文件 - 所有文件都相互引用,如下所示:

<xs:include schemaLocation="../coreschemas/infrastructureRoot.xsd"/>
<xs:include schemaLocation="COCT_MT050002UV07.xsd"/>
<xs:include schemaLocation="COCT_MT090100UV01.xsd"/>
<xs:include schemaLocation="COCT_MT240000UV01.xsd"/>
<xs:include schemaLocation="COCT_MT150000UV02.xsd"/>

所以这是我的问题。

所以现在我的问题是:有没有办法从 Biztalk 项目手动创建 WCF 服务,或者更好的是,让向导为这种情况工作?或者,只是关于在哪里查看的任何建议,因为这是我的第一个 Biztalk 项目。

我的谷歌搜索只为向导提供了过多的操作方法。

【问题讨论】:

    标签: wcf biztalk publishing hl7


    【解决方案1】:

    好吧,问题已经解决了,尽管遇到了太多的兔子洞,我偶然发现了一篇名为 Getting Started with HL7 v3 and Biztalk Server 2006 的 MSDN 文章,其中有一个名为 Schema Modifications 的小节。其中一项修改是将 Target Namespace 添加到 HL7 v3 中的一些 coreschema 文件中。

    我过去看过这个文档,它提到这解决了在 BizTalk Server 中编译架构时不支持它们的问题。我有点忽略它,因为我没有收到任何错误,此外,我使用的是 2010,而不是 2006,所以我天真地认为“现在必须修复......没有错误”

    并非如此,我完全按照文档的建议进行操作,并立即部署并运行 Biztalk WCF 服务发布向导,一切正常,我能够查看生成的帮助和 .wsdl 页面。

    我希望这对将来的某人有所帮助。对我来说非常反高潮。

    【讨论】:

      猜你喜欢
      • 2011-05-18
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-10
      相关资源
      最近更新 更多