極致精簡的webservice例子
看了網上好多關於webservice的例子,基本上對初學者來說都是模棱兩可雲裏霧裏,現在,我將網上關於webservice的講解提煉出來,通過一個最簡單使用並且方便的例子,告訴大家什麽是webservice。
簡單來說,webservice就是遠程調用技術,也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。是:通過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:
1. 創建一個web項目
為了簡單明了,我一共創建了三個類,一個接口,一個接口實現類,一個發布類(main方法)。具體如下:
這是WebService接口,其中定義了一個sayHello(String name)的方法
[email protected]
@WebMethod註解聲明了這個方法是要發布出去的方法
這個類是WebService接口的實現類,寫明了sayHello(String name)方法的方法體。
最後我們在服務器端運行WebServicePublish類中的main方法 ”控制臺打印出發布webservice成功!“在瀏覽器中輸入我們在WebServicePublish類中定義的address?wsdl(註意一定要加wsdl),瀏覽器顯示如下,
下面,我們來看一下客戶端怎麽調用(這也是版本最多最雜的一步,大多數人前面都很明白,但是到了這裏就直接懵逼了)
首先我們先創建一個client11客戶端的項目,然後我們通過Win+R組合鍵調出cmd,在cmd中輸入wsimport -s 我們這個項目的src路徑 -keep 我們發布的webservice地址 例如:
然後去eclipse中刷新我們的項目,就會發現系統自動幫我們生成了許多類。
當然WSclient是我在系統生成之後自己寫的一個客戶端的測試類
我們就來重點看一下這個測試類是怎麽寫的:
運行過後控制臺輸出如下:
可以看到’hahahaha‘是服務器中寫的,所以到此我們這個簡單又實用的webservice服務器客戶端就算完成了。
極致精簡的webservice例子