在vs2005中调用远程WebService(幻想曲)
2008-05-06 17:33
197 查看
webservice提供一个接口,供我们调用,只需调用其相应的方法,就会有数据返回,数据是以xml格式返回的.
有朋友问到:在我的blog中曾提到一些实用的Web Service,但不知道如何在vs中调用它,这里写了一个简单的教程.希望
能有所帮助.
几个实用的Web Service地址
http://www.lemongtree.com/zh-cn/item,307.html
这里我以
天气预报
地址:http://www.wopos.com/webservice/weather.asmx
为例来说明.
首先,我们在vs2005新建一个工程,这个工程可以是一个web工程,也可以是一个win程序.
当然,你也可以在vs2003中做下面的操作.我这里是建立的一个web工程
![](http://www.lemongtree.com/zh-cn/uploads/060602-092624_SpxImage7.png)
选取asp.net网站,然后确定
这时,vs2005会自动为我们新建一个default.aspx并已经打开了该文件
我们就在这个文件中来操作它
下一步,我们选中网站,单击右键,选择添加web引用,这样就可以引用外部的web service了,这是最关键的一步.
![](http://www.lemongtree.com/zh-cn/uploads/060602-092629_SpxImage8.png)
在下面的对话框中输入远程的web service地址,如:http://www.wopos.com/webservice/weather.asmx
再点击"前往",vs会自动搜索该web service上的所有方法
![](http://www.lemongtree.com/zh-cn/uploads/060602-092635_SpxImage9.png)
![](http://www.lemongtree.com/zh-cn/uploads/060602-092641_SpxImage10.png)
web引用名相当于Namespace,你可以作更改,也可以用默认的,一般默认的引用名是域名的反写,vs还会告诉我们在这里找到了多少个方法
等有用的信息
![](http://www.lemongtree.com/zh-cn/uploads/060602-092646_SpxImage11.png)
然后单击"添加引用",这时我们的工程下就会多出一个名为"App_WebReferences"的目录(vs2003下可能会有所不同),
![](http://www.lemongtree.com/zh-cn/uploads/060602-092652_SpxImage12.png)
这时,表明我们已经引用了外部的web service,我们在代码区可以像使用一般的类那样来调用它.现在转到代码区
当我敲入com时,vs已经提示我了
![](http://www.lemongtree.com/zh-cn/uploads/060602-092657_SpxImage13.png)
创建一个Weather类的实例,然后调用getWeather(string city)方法就行了
![](http://www.lemongtree.com/zh-cn/uploads/060602-092703_SpxImage14.png)
最终的代码
![](http://www.lemongtree.com/zh-cn/images/news_bullet.gif)
程序代码
protected void Page_Load(object sender, EventArgs e)
{
com.wopos.www.Weather service = new com.wopos.www.Weather();
Response.Write(service.getWeather("武汉"));
}
现在编译预览
![](http://www.lemongtree.com/zh-cn/uploads/060602-092708_SpxImage15.png)
OK!已经取到数据了,但格式并不是我们需要的,所以需要进一步处理,如何处理,请大家参考"几个实用的Web Service"中的相关说明,这里就不多说了.
由此可见,调用一个web service是非常简单的,但是,如果远程的web service的地址做了更改,或是改变了方法名,那我们的web service就要重新引用了并编译了,
所以最好是把方法名和service URL写在配置文件中,这样就方便多了.
有朋友问到:在我的blog中曾提到一些实用的Web Service,但不知道如何在vs中调用它,这里写了一个简单的教程.希望
能有所帮助.
几个实用的Web Service地址
http://www.lemongtree.com/zh-cn/item,307.html
这里我以
天气预报
地址:http://www.wopos.com/webservice/weather.asmx
为例来说明.
首先,我们在vs2005新建一个工程,这个工程可以是一个web工程,也可以是一个win程序.
当然,你也可以在vs2003中做下面的操作.我这里是建立的一个web工程
![](http://www.lemongtree.com/zh-cn/uploads/060602-092624_SpxImage7.png)
选取asp.net网站,然后确定
这时,vs2005会自动为我们新建一个default.aspx并已经打开了该文件
我们就在这个文件中来操作它
下一步,我们选中网站,单击右键,选择添加web引用,这样就可以引用外部的web service了,这是最关键的一步.
![](http://www.lemongtree.com/zh-cn/uploads/060602-092629_SpxImage8.png)
在下面的对话框中输入远程的web service地址,如:http://www.wopos.com/webservice/weather.asmx
再点击"前往",vs会自动搜索该web service上的所有方法
![](http://www.lemongtree.com/zh-cn/uploads/060602-092635_SpxImage9.png)
![](http://www.lemongtree.com/zh-cn/uploads/060602-092641_SpxImage10.png)
web引用名相当于Namespace,你可以作更改,也可以用默认的,一般默认的引用名是域名的反写,vs还会告诉我们在这里找到了多少个方法
等有用的信息
![](http://www.lemongtree.com/zh-cn/uploads/060602-092646_SpxImage11.png)
然后单击"添加引用",这时我们的工程下就会多出一个名为"App_WebReferences"的目录(vs2003下可能会有所不同),
![](http://www.lemongtree.com/zh-cn/uploads/060602-092652_SpxImage12.png)
这时,表明我们已经引用了外部的web service,我们在代码区可以像使用一般的类那样来调用它.现在转到代码区
当我敲入com时,vs已经提示我了
![](http://www.lemongtree.com/zh-cn/uploads/060602-092657_SpxImage13.png)
创建一个Weather类的实例,然后调用getWeather(string city)方法就行了
![](http://www.lemongtree.com/zh-cn/uploads/060602-092703_SpxImage14.png)
最终的代码
![](http://www.lemongtree.com/zh-cn/images/news_bullet.gif)
程序代码
protected void Page_Load(object sender, EventArgs e)
{
com.wopos.www.Weather service = new com.wopos.www.Weather();
Response.Write(service.getWeather("武汉"));
}
现在编译预览
![](http://www.lemongtree.com/zh-cn/uploads/060602-092708_SpxImage15.png)
OK!已经取到数据了,但格式并不是我们需要的,所以需要进一步处理,如何处理,请大家参考"几个实用的Web Service"中的相关说明,这里就不多说了.
由此可见,调用一个web service是非常简单的,但是,如果远程的web service的地址做了更改,或是改变了方法名,那我们的web service就要重新引用了并编译了,
所以最好是把方法名和service URL写在配置文件中,这样就方便多了.
相关文章推荐
- 在vs2005中调用远程WebService(幻想曲)
- [导入]在vs2005中调用远程WebService(幻想曲)
- 在vs2005中调用远程WebService
- 用axis在eclipse中new出webService client生成客户端,调用远程webservice接口的方法
- Jquery 远程调用 webService报错,500错误
- axis2远程调用webservice
- WebService的远程调用
- 初学者VS2005 .Net WebService使用(二)- 调用WebService三步曲
- Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法
- PDA(Windows Mobile)调用远程WebService
- 远程调用技术代码追踪(webservice)
- Httpclient远程调用WebService示例(Eclipse+httpclient)
- 基于WebService实现远程调用方式的系统间通信
- C#winForm调用WebService的远程接口
- Android程序使用SOAP调用远程WebService服务
- 远程调用技术代码追踪(webservice)
- 比WebService更简单的远程调用方案框架:Hessian
- 远程调用webservice接口的实现方法
- Xfire + Spring 远程调用webservice时提示注入的对象是空值,解决办法
- C# Mobile远程调用WebService时,返回DataTable出现隐式转换出问题的解决方案