Java版:一個極致精簡的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

如何發佈一個webservuce呢?下面我們通過一個簡單的例子慢慢的告訴大家。

1. 創建一個web服務端項目

Java版:一個極致精簡的webservice例子

為了簡單明瞭,我一共創建了三個類,一個接口,一個接口實現類,一個發佈類(main方法)。

具體如下:

Java版:一個極致精簡的webservice例子

上面圖中是一個WebService接口,其中定義了一個sayHello(String name)的方法

記住一定要在類上加上@WebService註解

@WebMethod註解聲明瞭這個方法是要發佈出去的方法

Java版:一個極致精簡的webservice例子

上面這個類是WebService接口的實現類,具體實現sayHello(String name)方法的方法體

Java版:一個極致精簡的webservice例子

最後我們在服務器端運行WebServicePublish類中的main方法

控制檯打印出發佈webservice成功!

見下圖:

Java版:一個極致精簡的webservice例子

在瀏覽器中輸入我們在WebServicePublish類中定義的address?wsdl(注意一定要加wsdl),瀏覽器顯示如下,那麼我們這個WebService就發佈成功了。

見下圖:

Java版:一個極致精簡的webservice例子

下面,我們來看一下客戶端怎麼調用(這也是網上版本最多最雜的一步,大多數人前面都很明白,但是到了這裡就直接懵圈了

2. 創建一個客戶端項目

首先我們先創建一個client11客戶端的項目,然後我們通過Win+R組合鍵調出cmd,在cmd中輸入wsimport -s 我們這個項目的src路徑 -keep 我們發佈的webservice地址

例如:

Java版:一個極致精簡的webservice例子

然後去eclipse中刷新我們的項目,就會發現系統自動幫我們生成了許多類。

Java版:一個極致精簡的webservice例子

當然WSclient是我在系統生成之後自己寫的一個客戶端的測試類

我們就來重點看一下這個測試類是怎麼寫的:

Java版:一個極致精簡的webservice例子

運行過後控制檯輸出如下:

Java版:一個極致精簡的webservice例子

現在我們可以看到的“hahahaha”就是服務器中寫的,到此我們這個極其簡單的webservice服務器客戶端就完成了。

希望這遍文章可以幫助大家瞭解和簡單的使用webservice,喜歡的可以伸出的小手,贊一下,賞一下,關注一下!!!


分享到:


相關文章: