我已经创建和使用Web服务很多年了,并且总是能够使用Visual Studio从客户端创建服务引用。我需要使用第三方服务,但他们拒绝打开他们的安全性,这样我就可以看到wsdl并进行服务引用。这是一个面向公众的服务,所以我不认为需要那种级别的安全性,但它就是这样。
我知道这是一个n00b问题,我很惭愧问这个问题,但是当我所拥有的只是客户端通过电子邮件发送给我的wsdl的物理副本时,我如何在客户端中创建等效的服务引用信息呢?web.config更改,SOAP数据上的对象层,就像使用自动化的服务引用一样,我只想打开一个到服务的连接,并开始将其与定义的对象一起使用。
据我所知,第三方服务不是WCF,而是SOAP。我使用的是VS2010。
3条答案
按热度按时间dkqlctbz1#
这可能是最简单的方法
8yparm6h2#
有两种方法可以实现这一点。您可以使用IDE生成WSDL,也可以通过命令行生成WSDL。
1.通过IDE创建:
在解决方案资源管理器窗格中,右键单击要向其中添加服务的项目:
然后,您可以输入服务WSDL的路径并点击go:
2.通过命令行创建:
打开VS 2010命令提示符(程序-〉Visual Studio 2010 -〉Visual Studio工具)
然后执行:
然后WSDL.exe将输出一个.cs文件供您使用。
如果你有其他的依赖项,比如xsd的依赖项,把它们添加到参数列表中:
如果您需要VB输出,请使用
/language:VB
以及/verbose
。jyztefdp3#
前面介绍了如何从本地文件导入,但您的WSDL引用了一个或多个XSD的可能性很小,您将收到错误:
您必须下载所有引用的XSD文件,并将它们放在与引用的WSDL相同的目录中。然后您必须手动编辑WSDL,并将schemaLocation更改为本地下载的文件。
之前
之后
请注意,这些下载的XSD文件也有可能引用Web地址。
就像这样:
之前
之后