在C#中,一般来说webservice可以通过添加服务引用的方式来使用,需要一个类似
http://xx.com/xxx.svc?wsdl
的地址。然而,客户的服务还没搭建,只给了个.xml文件过来,让我们按照这个规范生成客户端类来调用客户的接口,然后我就黑人问号了,居然还有这种操作??
经过研究,还真是有。
就是通过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)
问题来了:如何根据xml文件生成服务类?
上面的方式,需要的条件是:wsdl文件或者类似http://xx.com/xxx.svc?wsdl
的服务地址,而我们只有xml。
解决办法
我们可以打开wsdl文件看一下,你会发现,原来wsdl文件保存的规则实际上是一个xml的文件。
然后我试了下:把.xml的后缀改为.wsdl,然后再跑一下命令,就成功了。
「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」
(๑>ڡ<)☆谢谢老板~
使用微信扫描二维码完成支付