日期:2012-09-12  浏览次数:20394 次

VB.NET中的简单Web Service例程

本文和附带的源码向您演示了在.NET开发环境下创建一个WEB服务是如何得简单,同时演示了客户端如何使用这个WEB服务。例程创建了一个计算器的简单WEB服务,它有三个方法:加、减和除。

下载文件包WebService_mehta.zip包含所有演示文件: Calculator.asmx

HTMLClient.Html

InetClient (VB6 Project)

Calculator.asmx代码

<%@ WebService Language ="Vb" Class="Calculator" %>
'这个实例演示了简单的WEB服务
'计算器有三个WEB方法作基本计算
'标记 <WebMethord()>导出方法

option strict off
Imports System.Web.Services

Public Class Calculator: Inherits WebService

Public Function <WebMethod()> Add(Num1 as integer,Num2 as integer)
As Integer
return Num1 + Num2
End Function

Public Function <WebMethod()> Substract(Num1 as integer,Num2 as
integer) As Integer
return Num1 - Num2
End Function

Public Function <WebMethod()> Divide(Num1 as integer,Num2 as
integer) As Integer
return Num1 / Num2
End Function
End class

Calculator.asmx有三个方法,它们都接受参数Num1和Num2,然后执行算数计算返回一个整数值。

在IIS下将Calculator.asmx发布到任何一个虚拟目录下,从浏览器中访问,如下:

http://<server>/<virtualdirectory>/Calculator.asmx

你会看到一个“计算器Web服务”的描述页面,页面显示被导出的并且可以在同一个页面调用的三个方法。

创建HTML 客户端

<html>
<h1> Web服务演示 </h1>
<body bgcolor = pink>
<form id = frm method=POST >
Web服务的URL,例如: http://server/service1.asmx <br>
<input type = text id = ServiceLocation style="WIDTH:
322px;"><br><br>
Num1 : <input type="text" size="5" name='Num1' \"><br>
Num2 : <input type="text" size="5" name='Num2' \"><br><br> <input type = button Value = 加 onclick = "Add()">
<input type = button Value = 减 onclick = "Substract()">
<input type = button Value = 除 onclick = "Divide()">
</form>
<script Language = "vbScript">
Sub Add
msgbox frm.ServiceLocation.value
frm.action = frm.ServiceLocation.value & "/Add"

frm.submit
end sub
sub Substract
frm.action = frm.ServiceLocation.value & "/Substract"
frm.submit
end sub

sub Divide
frm.action = frm.ServiceLocation.value & "/Divide"
frm.submit
end sub
</script>
</body>
</html>

客户端页面提交数据到Calculator.asmx的Web服务页面,返回的结果是XML形式的。

WinInet 客户端

WinInet 客户端使用 win32 用户界面接受数据,然后提交给Calculator.asxm Web 服务,返回的XML结果经过客户端的分析提取以文本方式显示出来。