c#程序添加其他网站的webservice引用。

前言

有A网站,B网站两个网站独立运行。某一天,需要两个网站进行合作来完成一件事,比如用A网站接收一些数据进行处理,存入中转数据库,B网站定时去取数据进入自己的系统进行处理。

可能我们会先想到在B网站做一个功能,定时去数据库取。但是如果我没有B网站的源代码只有开发文档呢。这时候可以用一个简单的winform程序来做。然而从中转数据库取数据容易,存到B网站自己的数据库难。为什么呢,因为数据要经过B网站的一些方法处理。这个时候,就用到了在winform程序中引用webservice的情景。

 

首先,vs2013创建一个winform程序。添加最基本的控件。一个button用来触发事件,一个label用来显示事件结果。

在解决方案资源管理器上点击右键,选择添加服务引用。

弹出框中,填写你要引入的服务。这里拿网上的一个天气预报的服务作实验。地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx,点击转到

如果服务地址正确,能找到服务,会弹出下面的框

命名空间可以随意命名,点击确定,可以看到我们的资源面板变成了这样子。

这个服务有什么方法呢。如果是你自己的服务,那么你肯定知道,如果是公共服务,可以在浏览器输入服务地址,看一下有哪些方法:

 

嗯。好了,就用它了。进入程序测试。

?
1
2
3
4
5
6
7
8
9
private void button1_Click( object sender, EventArgs e)
{
     WeatherServiceTest.WeatherWebServiceSoapClient client= new WeatherServiceTest.WeatherWebServiceSoapClient();
     string [] province = client.getSupportProvince();
     for ( int i = 0; i < province.Length;i++ )
     {
         this .label1.Text += "\n" + province[i];
     }
}

  

执行!点击button,结果报错如下:

可以清楚地看到,多个终点配置。打开app.config

可以清楚地看到,确实有两个终点配置。我们需要删除一个。那么这里删除哪一个呢。我们看到,这里程序默认给生成了两个binding,两个对应的endpoint。一个是basic基本的,一个是custom自定义的。然后我们可以看到,两个终点配置其实就是soap的协议不一样而已。其实删除哪一个都可以,这里我们保留basic,删除custom。(custom的binding可删可不删。为了保持整洁,没有多余的干扰项,我们也删除了)。删除后如下:

再次运行。

成功!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值