下载WCF服务公开的所有WSDL文件的最佳方式是什么?
什么是下载WCF服务公开的所有WSDL文件的最佳方式?下载WCF服务公开的所有WSDL文件的最佳方式是什么?
例如,根WSDL文件引用了下列其他WSDL文件:
<xsd:import schemaLocation="http://localhost:80/?xsd=xsd0" namespace="http://tempuri.com"/>
<xsd:import schemaLocation="http://localhost:80/?xsd=xsd1" namespace="http://tempuri.com"/>
理想情况下,将有可能自动下载,以便每次WSDL的变化会很容易将文件分发到时间一个客户或整合到一个文档/ SDK中。
如果您拥有该服务,您可以探索的另一个有趣的选择是使用Christian Weyer的FlatWSDL behavior,这将强制WCF在单个WSDL文档中生成所有内容,这会让您更容易分发它。
codeplex上的优秀WCFExtras项目也可用于生成单个wsdl文件。死易于使用,在这里找到它 - http://wcfextras.codeplex.com/ – Shuft 2011-11-03 16:16:45
同时,disco.exe被微软认为是过时的技术。
您可以使用svcutil.exe /t:metadata
来达到同样的在WCF时代。额外的好处是支持额外的功能,例如WS-Policy。
从URL保存模式:
svcutil /t:metadata http://host/pathtomy.svc?wsdl
保存从组装模式,例如自动生成:
svcutil /t:metadata c:\wcfweb\pathToWcfServiceAssembly.dll
谢谢伯纳德。有一段时间没有做过任何WCF - 你有参考吗?如果您能提供答案,我会将您的答案标记为已接受。 – 2012-11-14 14:21:34
@ThomasBratt你能澄清你的意思吗? – 2012-11-20 15:49:16
有一个简单的代码片段,使得它可以下载一个WSDL和所有属于的XSD文件供离线使用(例如用于代码生成)。
更新
博客里的代码片段被证明不再可用。幸运的是,Pablo Diez基于我的博客文章创建了一个小型项目并将其上传到github。它可现在的位置:https://github.com/pablod/xsd-downloader
对不起这么愚蠢的,但如何下载呢? – 2014-07-02 20:37:03