如何仅使用物理wsdl文件生成服务引用

时间:2012-10-03 14:07:22

标签: .net web-services service-reference

我多年来一直在创建和使用Web服务,并且始终能够使用Visual Studio从客户端创建服务引用。我有一个我需要使用的第三方服务,他们拒绝打开他们的安全性,所以我可以看到wsdl并提供服务参考。这是一个面向公众的服务,所以我不认为需要这种安全级别,但它就是这样。

我知道这是一个n00b问题而且我很惭愧要问它,但是当我可以使用的所有内容都是客户端的wsdl的物理副本时,如何在我的客户端中创建等效的服务引用信息给我发电子邮件? web.config更改,SOAP数据上的对象层等。就像使用自动服务引用一样,我只想打开与服务的连接并开始将其与定义的对象一起使用。

据我所知,第三方服务不是WCF,而是SOAP。我正在使用VS 2010 btw。 提前致谢, 肯

2 个答案:

答案 0 :(得分:160)

这可能是最简单的方法

  • 右键单击该项目,然后选择“添加服务引用...”
  • 在地址:框中,输入已下载/修改的wsdl的物理路径(C:\ test \ project ....)。
  • Hit Go

答案 1 :(得分:54)

有两种方法可以解决这个问题。您可以使用IDE生成WSDL,也可以通过命令行执行此操作。

<强> 1。要通过IDE创建它:

在解决方案资源管理器窗格中,右键单击要将服务添加到的项目:

enter image description here

然后,您可以输入服务WSDL的路径并点击go:

enter image description here

<强> 2。要通过命令行创建它:

打开VS 2010命令提示符(程序 - &gt; Visual Studio 2010 - &gt; Visual Studio工具)
然后执行:

WSDL /verbose C:\path\to\wsdl

然后,WSDL.exe将输出一个.cs文件供您使用。

如果您在文件中收到其他依赖项,例如xsd's,请将它们添加到参数列表中:

WSDL /verbose C:\path\to\wsdl C:\path\to\some\xsd C:\path\to\some\xsd

如果您需要VB输出,请使用/language:VB以外的/verbose