C# 利用VS自带的WSDL工具生成WebService服务类
WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成。 添加服务引用大家基本都用过,这里就不讲解了。 那么,既然有直接引用的方式,为什么还要通过WSDL生成呢? 因为通过WSDL生成,就只有一个.cs 文件,便于管理,更简洁。
一、生成步骤
1. 打开vs开发控制台, 如下图:
2. 在控制台中输入如下指令
wsdl /language:c# /n:Demo /out:d:/TestService.cs http://www.abc.com/webservice/test?wsdl
参数说明如下
/language:C# 指定编程语言为 C#
/n:Demo 指定名称空间为 Demo
/out: 指定文件保存路径和文件名 d:/TestService.cs
http://www.abc.com/webservice/test?wsdl 为wsdl文件路径,也可以是物理路径(如:C:/test.wsdl)
3. 指令输入完成之后,按回车,执行成功如下图所示,此时去F盘就能找到一个生成的TestService.cs类文件了
二、将wsdl.exe配置在vs工具菜单中
由于每次打开vs开发控制台,并输入一长串的指令会比较麻烦,所以为了提高效率,我们将其配置在工具菜单中,让使用更方便。
配置步骤:
1. 打开vs -> 工具菜单 -> 外部工具
2. 点击添加,详细配置如下图
说明:
a. 命令填写的是wsdl.exe程序在电脑中的路径 C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Toolswsdl.exe
b. 参数和上面讲的一致,不再赘述
c. 初始目录,选择 [项目录]。 项目录的作用就是,当你选中解决方案中的某个文件夹,那么生成的类文件就会保存在你选中的文件夹下,如果选中的是文件,则生成的类文件保存在和所选文件同级目录下。
3. 点击应用按钮,配置完成。
配置完要如何使用呢?配置完后,点击工具菜单,会看到如下图:
点击 WEBSERVICE生成工具,出现如下图
我们把 "命名空间" 换成自己真实想要的名称空间,我这里写Test,然后在 /out: 后面敲一个空格(记住一定要空格),之后填写wsdl文件路径(可以是物理路径也可以是网络路径)。完成后如下图
点击确定就可以了,在vs底部的输出窗口中可以看到详细信息。