這兩天在網上看了一些關於webservice的教程,自己也做了一個demo,在此做個記錄。
webservice簡介:是一個遠程調用技術
通過SOAP在Web上提供服務,使用WSDL文件進行說明,並通過UDDI進行注冊。
XML:(Extensible Markup Language)擴展型可標記語言。面向短期的臨時數據處理、面向萬維網絡,是Soap的基礎。
Soap:(Simple Object Access Protocol)簡單對象存取協議。是XML Web Service 的通信協議。當用戶通過UDDI找到你的WSDL描述文檔后,他通過SOAP調用你建立的Web服務中的一個或多個操作。SOAP是XML文檔形式的調用方法的規范,它可以支持不同的底層接口,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL 文件是一個 XML 文檔,用於說明一組 SOAP 消息以及如何交換這些消息。大多數情況下由軟件自動生成和使用。
如何發布一個webservice:
我是用的eclipse,首先新建一個web項目,創建三個類,具體如下:



運行main方法,打印出“”發布成功“”然后去瀏覽器輸入http://localhost:8589/services/WebServiceImpl/sayHello?wsdl
如果可以正常顯示,則代表發布成功

接下來是生成客戶端並且調用我們發布的服務。
網上有很多種方式,我用的是eclipse自帶的工具+axis2生成的。步驟如下:
在項目中導入相應的jar包,因為平時項目中就用到了axis2所以直接復制到lib下add to build path
右鍵項目–>Run As–>Run configurations–>右鍵選擇Java Application,新建(new),會看到下面這個界面。Project一般是你選擇run as的項目名或者類名,不用改動。

接下來在Main class,點擊Search,模糊搜索WSDL,既可找到WSDL2Java(前提是你導入了axis2的jar包),還有記得勾選 Include system libraries when searching for a main class。
這個時候就可以選擇Arguments這里的參數了
-uri:wsdl的絕對路徑或者一個wsd的鏈接地址
-p:生成出來的客戶端包路徑
-o:輸出路徑,就是你生成的客戶端的代碼放在哪
以下是我配置的參數信息
-uri http://localhost:8589/services/WebServiceImpl/sayHello?wsdl
-p com.test.webservice
-o D:/wsdl
配置完成 點擊“run”
完成之后自動生成兩個類,這里就是webservice的客戶端代碼了。

snippet是我寫的調用webservice的類
具體代碼如下:

運行結果:

至此,一個簡單的生成webservice並調用的demo就做完了,關於webservice還有很多需要學習的地方。繼續努力。
