WCF:带有导入问题的SvcUtil.exe

时间:2012-09-07 07:34:08

标签: import xsd wsdl svcutil.exe

我们项目的要求之一如下:

我们只从客户端WSDL和XSD文件获得。我们的任务是基于这些WSDL和XSD文件生成SOAP消息并提取SOAP主体。

我们应该采取的第一步是从给定的WSDL和XSD文件生成客户端代理文件。主WSDL文件有多个导入,导入的XSD文件也有一些导入。我试图使用SvcUtil.exe实用程序生成客户端代理文件,但错误出现了。

我以这种方式运行了SvcUtil.exe:

E:\ Projekti \ WCF \ XSD> svcutil / noconfig rosrazna.ru.xsd.SmevUnifoService.wsdl roskazna.ru.xsd.ResponseTemplate.xsd roskazna.ru.xsd.PGU_ImportRequest.xsd roskazna.ru.xsd.PGU_DataRequest。 xsd roskazna.ru.xsd.PGU_ChargesResponse.xsd roskazna.ru.xsd.ExportPaymentsResponse.xsd roskazna.ru.xsd.ExportIncomesResponse.xsd roskazna.ru.xsd.ExportQuittanceResponse.xsd roskazna.ru.xsd.Ticket.xsd

但是,出现了这个错误:

Microsoft(R)服务模型元数据工具 [Microsoft(R)Windows(R)Communication Foundation,Version 3.0.4506.2152] 版权所有(c)Microsoft Corporation。保留所有权利。

生成文件...... 警告:未生成任何代码。 如果您尝试生成客户端,这可能是因为元数据文档 ments不包含任何有效的合同或服务 或者因为发现所有合同/服务都存在于/ reference assembl中 IES。验证您是否已将所有元数据文档传递给该工具。

警告:如果您想从模式生成数据合同,请确保 使用/ dataContractOnly选项。

我必须提到我没有在SvcUtil.exe命令中将导入的XSD文件导入主WSDL文件中。我不知道如何把它们放进去。

那么,如何解决这个问题呢?

提前谢谢。

戈兰

1 个答案:

答案 0 :(得分:5)

@Goran,将所有引用的xsd文件复制到与wsdl相同的位置。然后,当从命令提示符下使用svcutil时,列出所有xsds,或者放一个* .xsd,如下所示:

E:\Projekti\WCF\XSD>svcutil /noconfig goransWsdl.wsdl *.xsd

PS:你似乎已经提到了所有的xsds。