admin 管理员组文章数量: 1184232
2024年3月20日发(作者:学完ui设计工作太难找)
NETⅣ0RK AND COMMUNICArI10N 网络与通信
基于.NET平台的WebService构建与调用技术
.
王田田
(天津工业大学,天津30016o)
摘要:使用Visual Studio 2008 IDE可以构建.NET平台中的Web Service。通过Method标识创建服务接口。同时,
IDE还提供了方便的网络服务调试模式。通过添加网络服务的引用,使用代理类可完成网络服务的本地化映射。
关键词:.NET;网络服务;服务调用
Bniicllng and Using WebService on Do ̄et Platform
WANG'Ifanlitm
(Tianjin Polytechnic University,Tianjin 3001 ̄)
Abstract:Use Visual Sutdio 2008 IDE,programmers can build WebService applications on.NET platform.Through the ap-
plication wizard,programmers create service interfaces using the Method keywords.At the same time,IDE also provides a
convenient debugging mode for network services.After adding a reference to hte sevrice caller project,a new client class win
be created to map the service into a local class.
Key words:.NET;Web Service;Service call
近代编程技术的发展历程可以归纳为单机应用到网络应
1创建WebService
用的变化过程。随着企业级应用的普及,其构建技术逐步划
使用微软公司提供的VS2008开发环境,可以方便地创建
分为基于Java语言的J2EE技术与微软的.NET技术两大体系。
WebService项目。首先新建工程项目,选择XML Web Service
WebService是.NET的核心技术。WebService是新一代的
Application类型项目,即可创建出—个默认的WebService工程,
计算机与计算机之间通用的数据传输格式,可让不同运算系
本文将工程命名为MyServieeTest,其中包含了3个主要文件:
统更容易进行数据交换。WebService有以下几点特性:允许
Assemblylnfo.es:包含WebService的程序集信息;
应用之间共享数据;分散了代码单元;基于XML这种Internet
Service1.asmxI包含WebService主要代码;
数据交换的通用语言,实现了跨平台、跨操作系统、跨语言。
Web.config:包含web应用程序配置与设置信息;
图1给出了基于WebService的软件体系,软件即服务的
在MyServiceTest命名空间下,存在公有类型Servicel,其
新型软件构建理念诠释了WebService的作用,它的出现彻底
命名方式可以在创建项目时修改。类中包含待发布的WebSer-
地实现软件组件间的解耦。使得软件开发过程由自主研发到
vice接El函数,其中,包含默认的HelloWodd 0方法,为程
服务获取的方向开始转变。在此讨论在.NET平台上WebSer-
序员提供编程参考。另外实现了两个方法:GetSystemTime 0
vice的构建方法与调用技术。
方法获取WebService发布者服务器的系统时间;AddTwoInt
(int pal'am1,int param2)方法实现两个整数相加的操作。示例
代码如下:
public class Servicel:System.Web.Services.WebService f
[WebMethod】
public string HeUoWorld 0 {
return”HelloWorld”;}
【WebMehtod(Description=”Get current time from the
server”)】
public string GetSystemTime 0{
I'etul ̄Sysetm.DateTime.Now.ToString 0;l
[WebMethod(Description=”Add two int together”)】
public nit AddTwolnt(int paraml,int param2){
retunl paraml+param2;ll
每项服务以一个函数的形式向外发布,其中,必须以
【WebMethod]标识作为函数声明的开始,可以加入描述字段,
图1基于WebService的软件体系
服务调用者可以通过描述信息获取服务的功能说明。其他的
编写方式与普通应用程序一致。
本文收稿日期:2010—02—10
(下转到90页)
一
83—
电脑编程技巧与维护
(1-Wire)器件的数据传输及组网提供了有效的开发方法。
【3]徐尔贵.Visual Basic 6.0教程.电子工业出版社
作者简介
参考文献
【1】谢瑞和.串行技术大全.清华大学出版社.
【2】范逸之,陈立元.利用VB实现串并行通信技术.清华大
学出版社.
倪春雷,男(1966一),硕士研究生,高级工程师,在部队研
究单位工作,多年从事计算机硬件控制应用。
(上接第83页)
2调试
应用程序的调试过程,主要依靠IDE提供的Debug模式,
的引用,通过IDE提供的引用添加方式,可以发现并定位已
有的WebService,对于远程调用的服务,可通过输入其地址
加入断点后,采用逐步跟踪以期发现错误。.NET平台下 b—
Service的基本调试理念与一般应用相同。但WebService作为一
个不独立运行的服务程序,需要借助外层调用者才能顺利调试。
微软的VS2008开发环境,为程序员提供了方便的Web—
Service调试方法。对上述示例代码进行执行操作,可以通过
浏览器获得服务的调用接口,如图2所示。
图2 WebService调试入口
调试状态下,除了可以直接调用已有的WebServiee服务
之外,调试器给出了WebServiee的SOAP信息和HTTP的
GET和POST方法说明。例如,在本文的示例中,对Servieel
中的GetSymtemTime 0方法的执行结果的SOAP描述为:
<?xml version=”1.0”encoding=”uff-8”?>
<soap:Envelope xmlns:xsi:”http://www.w3.org/2001/
XMLSchema-instance”xmlns:xsd=”hnp://www.w3.org/
2001/XMLSchema”xmlns:soap=”http://schemas.xmlsoap.
org/soap/envelope/”>
<soap:Body>
<GetSystemTimeResponsexmlns=”http://tempuri.org”>
<GetSystemTimeResult>string</GetSystemTimeResult>
</GetSystemTimeResponse>
</soap:Body>
</soap:Envelope>
3调用
讨论在.NET环境下WebService的调用方法。WebService
可以被.Net平台上任意类型的项目调用。文中,创建一个名为
WebServieeCaller的Window Form工程,作为调用者应用。
首先,需要在WebServiceCaller工程中加入Webservicel
一
90一
来获取。将加入的WebService引用命名为ServieeReference1。
引用加入成功后,调用者工程中会生成一个服务引用子
项,其中包含了ServieeReferencel命名空间,对于上述应用示
例,生成的ServiceReference1结构如图3所示。从中可知,对
于每个服务方法,引用添加过程中都会构建其Request、Re—
questBody和Response类,自动完成了代码实现。需要特别注
意的是,ServiceReference1中含有一个名为Sen,ice1SoapClient
的类别,这是IDE为程序员自动生成的WebServiee代理类,
可以理解为:加入引用后,使用本地的Service1SoapClient就
可以实现Sevrieel中的所有函数功能,而无需关心其功能实体
是本应用所写还是通过网络获取的其他Web服务。
最后,给出在WebServiceCaller工程中,对于Servicel的
调用方法,其示例代码如下。不难看出,就调用方式本身而
言,WebService的调用与本地类型的使用完全一致,保证了
调用者应用的简单性。
ServiceReference1.ServicelSoapClient service:new
WebServiceCaller.ServiceReference1.ServicelSoapClient
0;
MessageBox.Show(service,HelloWorld());MessageBox.
Show(service.GetSystemTime());MessageBox.Show
(sevrice.AddTwoInt(2,3).ToS ̄g());
4结语
给出了.NET平台下,使用VS2008IDE开发、调试和调用
WebService的方法,不同环境、不同语言的WebService开发
与协作将是下一步的关注点。
参考文献
【1]岳桦,王恩波.SOAP协议在电子商务中的应用[J】.北方
工业大学学报,2002,(01).
f2】俞勇,蒋烈辉.基于Web Service的医疗保险系统的设计与
实现[J].计算机与现代化,2009,(02).
[3】石伟鹏,杨小虎.基于SOAP协议的Web Service安全基础
规范(WS-Seeurity)[J].计算机应用研究,2003,(02).
[4】吴迪,陈钢.新一代的web Services技术[J].计算机应
用研究,2003,(03).
作者简介
王田田,女(1987一),本科,研究方向:软件工程。
版权声明:本文标题:基于.NET平台的WebService构建与调用技术 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710869006a577138.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论