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一),本科,研究方向:软件工程。 


本文标签: 服务 应用 调用 方法 实现