Web Service 實例
任何應(yīng)用程序都可擁有 Web Service 組件。
Web Services 的創(chuàng)建與編程語言的種類無關(guān)。
一個實例:ASP.NET Web Service
在這個例子中,我們會使用 ASP.NET 來創(chuàng)建一個簡單的 Web Service。
<%@ WebService Language="VB" Class="TempConvert" %> Imports System Imports System.Web.Services Public Class TempConvert :Inherits WebService <WebMethod()> Public Function FahrenheitToCelsius (ByVal Fahrenheit As Int16) As Int16 Dim celsius As Int16 celsius = ((((Fahrenheit) - 32) / 9) * 5) Return celsius End Function <WebMethod()> Public Function CelsiusToFahrenheit (ByVal Celsius As Int16) As Int16 Dim fahrenheit As Int16 fahrenheit = ((((Celsius) * 9) / 5) + 32) Return fahrenheit End Function End Class
此文檔是一個 .asmx 文件。這是用于 XML Web Services 的 ASP.NET 文件擴展名。
要運行這個例子,我們需要一個 .NET 服務(wù)器
此文檔中第一行表明這是一個 Web Service,由 VB 編寫,其 class 名稱是 "TempConvert"。
<%@ WebService Language="VB" Class="TempConvert" %>
接下來的代碼行從 .NET 框架導(dǎo)入了命名空間 "System.Web.Services"。
Imports System Imports System.Web.Services
下面這一行定義 "TempConvert" 類是一個 WebSerivce 類:
Public Class TempConvert :Inherits WebService
接下來的步驟是基礎(chǔ)的 VB 編程。此應(yīng)用程序有兩個函數(shù)。一個把華氏度轉(zhuǎn)換為攝氏度,而另一個把攝氏度轉(zhuǎn)換為華氏度。
與普通的應(yīng)用程序唯一的不同是,此函數(shù)被定義為 "WebMethod"。
請在您希望其成為 web services 的應(yīng)用程序中使用 "WebMethod" 來標(biāo)記函數(shù)。
<WebMethod()> Public Function FahrenheitToCelsius (ByVal Fahrenheit As Int16) As Int16 Dim celsius As Int16 celsius = ((((Fahrenheit) - 32) / 9) * 5) Return celsius End Function <WebMethod()> Public Function CelsiusToFahrenheit (ByVal Celsius As Int16) As Int16 Dim fahrenheit As Int16 fahrenheit = ((((Celsius) * 9) / 5) + 32) Return fahrenheit End Function
最后要做的事情是終止函數(shù)和類:
End Function End Class
假如您把此文件另存為 .asmx 文件,并發(fā)布于支持 .NET 的服務(wù)器上,那么您就擁有了第一個可工作的 Web Service。
ASP.NET 的自動化處理
通過 ASP.NET,你不必親自編寫 WSDL 和 SOAP 文檔。
如果您仔細(xì)研究我們的這個例子,您會發(fā)現(xiàn) ASP.NET 會自動創(chuàng)建 WSDL 和 SOAP 請求。