3

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

我们仅从客户端 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,版本 3.0.4506.2152] 版权所有 (c) Microsoft Corporation。版权所有。

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

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

我不得不提一下,我没有在 SvcUtil.exe 命令的主 WSDL 文件中导入 XSD 文件的导入。我不知道如何放置它们。

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

先感谢您。

戈兰

4

1 回答 1

6

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

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

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

于 2012-10-05T19:25:50.963 回答