我这里是这样的:
Visual Studio 2010 中的 Biztalk 项目,相应的 Biztalk 应用程序在 Biztalk 2010 服务器上运行。接收端口接受 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 项目。
我的谷歌搜索只为巫师提供了过多的操作方法。