【问题标题】:svcutil.exe => Cannot obtain Metadata from https://....................svc?wsdlsvcutil.exe => 无法从 https://........svc?wsdl 获取元数据
【发布时间】:2019-11-13 13:08:00
【问题描述】:

我必须在我的 MVC 项目中使用 .SVC WebService。当我想通过添加服务参考添加服务时,出现以下错误:

下载https://.............svc/$metadata'时出错。 请求被中止:无法创建 SSL/TLS 安全通道。

我尝试通过 CMD 中的以下命令生成我需要的类以使用该服务:

svcutil.exe https://.............svc?wsdl

但我收到以下错误消息:

错误:无法从https://.............svc?wsdl获取元数据

我该如何解决这个问题?

【问题讨论】:

  • 如果您在浏览器中打开该网址,会发生什么?您确定该服务托管在安全协议上吗?
  • @rene,当我在浏览器中打开该 url 时,它会显示一个页面,其中包含一些关于使用 svcutil.exe 生成所需文件的提示。我已按照提示进行操作,现在生成了两个文件。一个文件是 .cs 文件,另一个是 output.config。我现在该怎么办?如何调用我的服务并使用它的方法?
  • 将 .cs 文件添加到您的项目文件中(如果您在 Visual Studio 中,请添加现有文件)并将 output.config 的内容“合并”到您的 web.config 中。这应该编译并为您提供一些位于该 .cs 文件中的“客户端”类,您可以实例化并调用其方法来调用服务的操作。

标签: c# web-services wcf model-view-controller


【解决方案1】:

上述错误主要表示我们在下载服务元数据之前应该信任服务器证书。
正如@rene 提到的。生成客户端代理类后,我们可以实例化该类来调用方法,就像调用本地方法一样。
但是我们也可以通过添加服务引用来调用服务,这是 VS 的一个内置特性。

这是官方指南,希望对您有用。
https://docs.microsoft.com/en-us/dotnet/framework/wcf/accessing-services-using-a-wcf-client
如果有什么我可以帮忙的,请随时告诉我。

【讨论】:

    猜你喜欢
    • 2012-11-04
    • 2016-01-13
    • 2012-07-06
    • 2016-11-23
    • 2014-10-22
    • 2019-04-04
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多