1. 程式人生 > >精簡的webservice例子

精簡的webservice例子

極致精簡的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)的方法

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

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

 

 

這個類是WebService介面的實現類,寫明瞭sayHello(String name)方法的方法體。

 

最後我們在伺服器端執行WebServicePublish類中的main方法 ”控制檯打印出釋出webservice成功!“在瀏覽器中輸入我們在WebServicePublish類中定義的address?wsdl(注意一定要加wsdl),瀏覽器顯示如下,那麼我們這個WebService就釋出成功了。

 

 

 

 

 

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

 

首先我們先建立一個client11客戶端的專案,然後我們通過Win+R組合鍵調出cmd,在cmd中輸入wsimport -s 我們這個專案的src路徑 -keep 我們釋出的webservice地址 例如:

 

然後去eclipse中重新整理我們的專案,就會發現系統自動幫我們生成了許多類。

 

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

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

 

 

 

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

 

可以看到’hahahaha‘是伺服器中寫的,所以到此我們這個簡單又實用的webservice伺服器客戶端就算完成了。

 

標籤: webService « 上一篇: 關於一點jeesite
» 下一篇: 最新的極光推送伺服器端程式碼(java伺服器後臺向手機端自定義推送訊息)
<div class="postDesc">posted on <span id="post-date">2017-05-28 14:00</span> <a href="https://www.cnblogs.com/fengwenzhee/">陳揚天</a> 閱讀(<span id="post_view_count">83566</span>) 評論(<span id="post_comment_count">3</span>)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=6915606" rel="nofollow">編輯</a> <a href="#" onclick="AddToWz(6915606);return false;">收藏</a></div>

FeedBack:
	<div class="feedbackItem">
		<div class="feedbackListSubtitle">
		<div class="feedbacktitle"><a href="#3915783" class="layer">#1樓</a><a name="3915783" id="comment_anchor_3915783"></a>&nbsp; <span class="comment_date">2018-03-06 10:43</span>&nbsp;<a id="a_comment_author_3915783" href="https://www.cnblogs.com/lr-aljsdlajd/" target="_blank">李·密斯仁</a> <a href="http://msg.cnblogs.com/send/%E6%9D%8E%26%23183%3B%E5%AF%86%E6%96%AF%E4%BB%81" title="傳送站內短訊息" class="sendMsg2This">&nbsp;</a></div>
			<div align="left"><div id="comment_body_3915783" class="blog_comment_body">不需要導包嗎?</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(3915783,'Digg',this)">支援(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(3915783,'Bury',this)">反對(0)</a></div>&nbsp;&nbsp;<span class="comment_actions"></span>
		</div>
	</div>

	<div class="feedbackItem">
		<div class="feedbackListSubtitle">
		<div class="feedbacktitle"><a href="#4029028" class="layer">#2樓</a><a name="4029028" id="comment_anchor_4029028"></a>&nbsp; <span class="comment_date">2018-07-26 09:26</span>&nbsp;<a id="a_comment_author_4029028" href="https://www.cnblogs.com/bokers/" target="_blank">bokers</a> <a href="http://msg.cnblogs.com/send/bokers" title="傳送站內短訊息" class="sendMsg2This">&nbsp;</a></div>
			<div align="left"><div id="comment_body_4029028" class="blog_comment_body">wsimport指令需要指定包名吧?</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4029028,'Digg',this)">支援(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(4029028,'Bury',this)">反對(0)</a></div><span id="comment_4029028_avatar" style="display:none;">http://pic.cnblogs.com/face/1220780/20180110230531.png</span>&nbsp;&nbsp;<span class="comment_actions"></span>
		</div>
	</div>

	<div class="feedbackItem">
		<div class="feedbackListSubtitle">
		<div class="feedbacktitle"><a href="#4093794" class="layer">#3樓</a><a name="4093794" id="comment_anchor_4093794"></a>[<span class="louzhu">樓主</span>]<span id="comment-maxId" style="display:none;">4093794</span><span id="comment-maxDate" style="display:none;">2018/10/19 10:09:11</span>&nbsp; <span class="comment_date">2018-10-19 10:09</span>&nbsp;<a id="a_comment_author_4093794" href="https://www.cnblogs.com/fengwenzhee/" target="_blank">陳揚天</a> <a href="http://msg.cnblogs.com/send/%E9%99%88%E6%89%AC%E5%A4%A9" title="傳送站內短訊息" class="sendMsg2This">&nbsp;</a></div>
			<div align="left"><div id="comment_body_4093794" class="blog_comment_body"><a href="#3915783" title="檢視所回覆的評論" onclick="commentManager.renderComments(0,50,3915783);">@</a>

李·密斯仁
這是jdk自帶的命令 -keep保留java程式碼

支援(0) 反對(0) http://pic.cnblogs.com/face/1167306/20170614083351.png  


重新整理評論 重新整理頁面 返回頂部 註冊使用者登入後才能發表評論,請 登入註冊訪問網站首頁。 【推薦】超50萬VC++原始碼: 大型組態工控、電力模擬CAD與GIS原始碼庫!
【活動】申請成為華為云云享專家 尊享9大權益
【工具】SpreadJS純前端表格控制元件,可嵌入應用開發的線上Excel
【騰訊雲】拼團福利,AMD雲伺服器8元/月
qcloud 相關博文:
· 關於C# WebService的一些看法
· webService基礎知識--認識WebService
· webService筆記
· SOAP漫談(基本概念篇)
· 關於在VS2010 ASP.NET MVC3中使用WebService的例項
Copyright ©2018 陳揚天 Powered by: <a href="http://www.cnblogs.com" class="footerlink">部落格園</a> 模板提供:<a href="http://blog.hjenglish.com" class="footerlink">滬江部落格</a><br>