我有一个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”。合同。

如果您没有定义任何元数据交换端点,显然您将无法检索该信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top