题
我有一个wcf Web服务,我需要为客户端提供wsdl文件。
以前我在.dll上使用了svcutil,一切都很好。
然而,最近我将工厂实施到Flaten wsdl文件(re: http://wcfextras.codeplex.com / )。
我的问题是这样的:无论如何使用.svc上的svcutil来提取Flattened .WSDL文件,或者当它在本地webdev服务器上运行以检索.WSDL文件时,可能以某种方式点击Web服务?
据我所知,如果我要导航到我的本地Web开发服务器( http :// localhost:2916 / Service.svc?wsdl )如果我要查看源并将其保存为.wsdl,这是错误的,并且不会提供所有相关信息。
注意:请参阅下文,了解如何在.svc文件中使用Factory ....
<% @ServiceHost Factory="CompanyName.ServiceModel.Extensions.Description.FlatWsdlServiceHostFactory" language=c# Service="CompanyName.WebServices.Service"%>
谢谢, 史蒂文
解决方案
是的,您仍然可以使用 svcutil
从服务中提取WSDL,即使您安装了扩展WSDL的扩展程序。
要从正在运行的服务下载元数据文档,请使用以下命令:
svcutil /t:metadata http://service/metadataEndpoint
您需要将您的网址指向配置中定义的元数据端点,例如定义为使用“mexHttpBinding”的端点或“mexTcpBinding”或“mexTcpBinding”。以及“IMetadataExchange”和“IMetadataExchange”。合同。
如果您没有定义任何元数据交换端点,显然您将无法检索该信息。
不隶属于 StackOverflow