C#使用WSDL服务


前言

做上位机,难免遇到需要和总控/MES等系统进行对接,那必然少不了接口的调用。例如WebServices;简单的用法请参考以下文章


可站在标准的开发过程,考虑到后期的扩展性、可维护性,那就需要做到类模块抽离,以满足后期的维护等。因此考虑到使用WSDL的方式来调用接口。


环境

鉴于我使用的是VS2022这个IDE,所以以下内容均以VS2022为例展开介绍如何在C#项目中高效使用WSDL。

一、 获取wsdl

介绍一种最简单的获取方法:

  1. 运行并打开接口服务

运行打开接口服务

  1. 在地址栏后面添加?wsdl,并回车即可得到wsdl内容

获取wsdl

  1. 鼠标右击另存为wsdl文件

保存文件

二、 根据WSDL接口生成XXX.cs文件

  1. 打开开始菜单内的VS 2022的开发人员命令提示符(这里注意用管理员身份) :

打开开发人员调试

  1. 在刚刚打开的命令提示符内键入指令:
wsdl /language:c# /n:GeneralControlService /out:C:\ApiService.cs C:\api.wsdl

参数说明:

序号参数作用
1/language:C#指定编程语言为 C#
2/n:GeneralControlService指定名称空间为 GeneralControlService
3/out:指定文件保存路径和文件名 ApiService.cs,可以使用绝对路径也可以使用相对路径
4C:\api.wsdlwsdl文件路径,也可以是网络路径(如:http://www.xxx.com/ApiService?wsdl

完成此步骤后,就可以看到ApiService.cs文件了

三、根据XXX.cs文件生成XXX.dll文件

还是步骤一的控制台(命令提示符)不要关,键入指令:

csc /t:library ApiService.cs 

在相同路径下,生成了ApiService.dll文件,拷贝到项目下,添加引用就可以了。

四、使用方法

  1. 项目的引用中添加引用:

添加引用

  1. 代码中使用:
using GeneralControlService;
GeneralControlServiceis = new GeneralControlService();

或者

GeneralControlService.WebServiceTask webService = new GeneralControlService.WebServiceTask();
  1. 调用
webService.XXX();

点个赞再走呗

本文至此结束
最后修改:2022 年 09 月 29 日
如果觉得我的文章对你有用,请随意赞赏