我知道你現在已經很心急的想要寫點代碼,看看Web service到底是什么樣的了。那么我們現在就介紹怎樣用VB 6和VB.NET實際做出一個Web service來。本節的目的只是向你展示一下這些工具的功能,而不是深入地講解Web service的工作原理。本書后面的章節會向你慢慢說明Web service以及Microsoft SOAP Toolkit和.NET等工具的內部原理的。
使用SOAP Toolkit
Microsoft的SOAP Toolkit V2幫助你把COM組件變成Web service。這套工具分為三大主要部分:SoapClient是一個用于調用Web service的COM組件;SoapServer 是一個處理SOAP請求和返回SOAP應答的組件;還有一個WSDL向導,它可以把你的type library轉換成WSDL文檔,以暴露給Web service的客戶。
假設你有一個COM組件,暴露出一個GetTemperature方法:
Public Function GetTemperature(ByVal zipcode As String, _
ByVal celsius As Boolean) As Single
要把這個組件變成一個Web service,你可以使用WSDL向導。給出你要轉換的組件后,向導會要你選擇你想暴露出的方法,指出生成的Web service所在的URL(如http://localhost/Temperature/),以及你希望用ASP還是ISAPI做你的請求處理器(如圖1-2)。然后向導還會問你生成的WSDL和ASP文件應該放在那個目錄下。

使用SOAP Toolkit向導來轉換COM組件
現在該調用這個Web service了。方法是在VB或其他任何可以使用COM的語言里調用SoapClient組件。下面這段代碼演示了怎樣調用Webservice中的GetTemperature方法:
Dim soap As MSSOAPLib.SoapClient
Set soap = New MSSOAPLib.SoapClient
soap.mssoapinit _
"http://localhost/Temperature/Temperature.wsdl"
MsgBox ("氣溫是: " & _
soap.GetTemperature("20171", False))
首先調用mssoapinit,把WSDL文檔的URL傳給SoapClient。WSDL文檔的URL就是你在WSDL向導中給出的URL加上〈Service名字.wsdl〉。一旦初始化完成,SoapClient就得到了Web service的所有方法,你就可以直接調用這些方法了。