添加服务引用来使用WebService

添加服务引用来使用WebService

添加服务引用来使用WebService

——独立观察员 2018.05.26

众所周知,当今社会是个合作的时代,所以,即使是以往特立独行的程序员,如今也是时常要与各方合作的。这其中,有的情况是需要提供服务给其他人的,而在其中起支撑作用的技术之一就是今天的主角——WebService。

提供服务的一方会给出一个WebService的地址,形如:http://192.168.16.19:1010/WebServicePublic.asmx。当然,如果需要提供给大众使用,自然需要提供的是公网地址。

当我们拿到这个地址,就可以在VS中”添加服务引用”了。但是,如果是像上面这样的内网地址,那么直接添加是添加不上的。

此时就需要使用wsdl方式了:在地址后面添加”?wsdl”,然后在浏览器中打开,就是一篇XML格式的内容,将这些内容保存为”.wsdl”后缀的文件,备用。(注意,将第一个<wsdl>节点前面的内容删去。)

然后,我们点击添加服务引用,将刚才准备的wsdl文件路径填入地址栏,按下回车,就能发现服务了(命名空间可改):

%title插图%num

 

点击确定后,就添加进项目中了。并在App.config中添加了配置信息,从中可以看到,绑定的名字为”WebServicePublicSoap”,在节点client下:

%title插图%num

 

这样我们实例化一下相关类型(这里是一个以Client结尾的类型)的对象后就能使用其中提供的方法了:

ServiceReference1.WebServicePublicSoapClient webService = new WebServicePublicSoapClient();
webService.intZHYLService();

 

另外,如果因为某些原因使用不了App.config配置信息的话,也可以手动设置服务地址:

public static string HISAddress { get; set; } = "http://192.168.16.19:1010/WebServicePublic.asmx";
public static ServiceReference.WebServicePublicSoapClient HisService { get; set; }


HisService = new ServiceReference.WebServicePublicSoapClient(
new BasicHttpBinding()
{
	MaxReceivedMessageSize = int.MaxValue,
	MaxBufferPoolSize = int.MaxValue,
	MaxBufferSize = int.MaxValue,
	SendTimeout = new TimeSpan(0, 2, 0)
	},
	new EndpointAddress(HISAddress)
);


HisService.intZHYLService(tradeType, str, ref recStr);

 

完。

原创文章,转载请注明: 转载自 独立观察员(dlgcy.com)

本文链接地址: [添加服务引用来使用WebService](https://dlgcy.com/use-webservice/)

关注微信公众号 独立观察员博客(DLGCY_BLOG) 第一时间获取最新文章

%title插图%num

发表评论