TOMCAT上Web Service開發攻略

TOMCATWeb Service開發攻略<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

歡迎大家同我交流:小白  [email protected]

歡迎轉載,請保留本聲明,謝謝!

隨着以.NETJ2EE爲代表的WEB計算技術的興起,WEB Service已經成爲越來越重要的應用,WEB Service爲應用系統間的集成提供了一種新型的交換方式,.NET,J2EE都相繼支持WEB Service應用。

筆者不想對WEB Service概念和理論作過多的討論和闡述,大家可以從下面相關的資料中進一步進行了解。

WEB服務概念性體系架構

http://www-900.ibm.com/developerWorks/cn/webservices/ws-wsca/index.shtml

XML Web Service

http://msdn.microsoft.com/webservices/

目前,Web Service應用一般都採用SOAP(Simple Object Access Protocol, 即簡單對象訪問協議)協議,和傳統的DCOM/COM,CORBA相比,SOAP有以下優點:

首先,前者都是基於2進制流的數據交換,而SOAP是採用基於XML的文本數據交換,因此在數據交換上更容易,更方便。調試以SOAP爲基礎的應用程序更容易。

其次,SOAP採用HTTP協議,並非私有的協議,所以,能夠更加安全的穿越防火牆。如今,MicrosoftIBMSUN都在各自的產品中添加了對SOAP協議的支持,所以,前者COM/DCOMCORBASOAP相比,簡直不值得一提。正是SOAP的出現,使得采用不同架構技術的系統的協作、交互成爲可能。

SOAP是一種新型的分佈式計算技術。利用SOAP,同時結合其他技術,比如UDDIUniversal Discovery Description, and Integration)和WSDLWeb Services Description Language),在Web服務這一概念的支持下,從而可以實現未來商業應用跨越Web進行通信的方式。

那麼,接下來,讓我直接進入正題,談一談TOMCAT下,如何快速開發Web Service應用。

首先,要搭建一個環境, 筆者搭建的環境是: Windows2000 Server(中文版)+TOMCAT4

1 http://jakarta.apache.org/下載TOMCAT4,安裝,並且配置好。啓動TOMCAT4,在瀏覽器中輸入http://localhost:8080。可以看到首頁面,表示TOMCAT4已經配置好了。

2 http://xml.apache.org/dist/axis/1_1RC1/下載AXIS,解壓縮到$TOMCAT_HOME/webapps/axis下面去。

在瀏覽器中運行http://localhost:8080/axis/index.html ,測試是否可以運行。

接下來,我們開始開發一個Web Service應用。編輯一個java文件

CalcService.java

public class CalcService {

  public int add(int p1, int p2) {

 

    return p1 + p2;

  }

 

  public int subtract(int p1, int p2) {

 

    return p1 - p2;

  }

}

複製CalcService.java文件到$TOMCAT_HOME/webapps/axis目錄下,改名爲CalcService.jws。在瀏覽器中,輸入http://localhost:8080/axis/CalcService.jws,得到提示信息如下:

AxisCalcService.jws包裝後,提供了一個WSDL的接口外露信息。可以輸入http://localhost:8080/axis/CalcService.jws?WSDL 察看WSDL的接口信息。通過WSDL接口,我們可以遍寫一個VB程序來調用。

測試步驟如下:

1 http://www.microsoft.com上下載SOAP TOOLKIT 3.0,安裝。

2 VB6中新建一個工程,添加一個FORM,FROM的界面如下。

3 分別在兩個按鈕cmdAddcmdMinus中寫上如下代碼

Private Sub cmdAdd_Click()

    '測試add方法

    On Error Resume Next

    Dim SoapClient As Object

   

    Set SoapClient = CreateObject("MSSOAP.SoapClient30")

    Call SoapClient.MSSoapInit2(Text1.Text, "", "", "CalcService", "")

    If Err.Number <> 0 Then

        MsgBox SoapClient.FaultString, vbExclamation

        Exit Sub

    End If

    ' Now the client can call an operation listed in the portType element

    ' specified when calling mssoapinit().

    Text4.Text = CStr(SoapClient.Add(Val(Text2.Text), Val(Text3.Text)))

   

    If Err.Number <> 0 Then

        MsgBox SoapClient.FaultString, vbExclamation

        Exit Sub

    End If

End Sub

 

Private Sub cmdMinus_Click()

    '測試substract方法

    On Error Resume Next

    Dim SoapClient As Object

   

    Set SoapClient = CreateObject("MSSOAP.SoapClient30")

    Call SoapClient.MSSoapInit2(Text1.Text, "", "", "CalcService", "")

    If Err.Number <> 0 Then

        MsgBox SoapClient.FaultString, vbExclamation

        Exit Sub

    End If

    ' Now the client can call an operation listed in the portType element

    ' specified when calling mssoapinit().

    Text7.Text = CStr(SoapClient.subtract(Val(Text5.Text), Val(Text6.Text)))

   

    If Err.Number <> 0 Then

        MsgBox SoapClient.FaultString, vbExclamation

        Exit Sub

    End If

End Sub

其中需要注意的是,MSSoapInit2方法簡單地說明如下:

關於Microsoft SOAP TOOLKIT 3.0的詳細說明,我會以後,專門寫文章介紹。

4 運行,並且測試。

總結,應用Web Service技術,我們已經看到了,用VB編寫的程序一樣可以享用JAVA技術,當然也可以享用.NET技術,當然java編寫的應用一樣可以享用VB6或.NET開發的WebService。這項技術的應用必將給信息系統的結構模式帶來全新的改變。

 

發佈了29 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章