WebService

WebService到底是什么?

Web Service也叫XML Web Service有缆。

WebService

是一種可以接收從Internet或者Intranet上的其它系統(tǒng)中傳遞過來的請求,輕量級(jí)的獨(dú)立的通訊技術(shù)。一言以蔽之:WebService是一種跨編程語言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù)棚壁。所謂跨編程語言和跨操作平臺(tái)杯矩,就是說服務(wù)端程序采用java編寫,客戶端程序則可以采用其他編程語言編寫袖外,反之亦然史隆!跨操作系統(tǒng)平臺(tái)則是指服務(wù)端程序和客戶端程序可以在不同的操作系統(tǒng)上運(yùn)行。


SOAP

WebService通過HTTP協(xié)議發(fā)送請求和接收結(jié)果時(shí)曼验,發(fā)送的請求內(nèi)容和結(jié)果內(nèi)容都采用XML格式封裝泌射,并增加了一些特定的HTTP消息頭,以說明HTTP消息的內(nèi)容格式鬓照,這些特定的HTTP消息頭和XML內(nèi)容格式就是SOAP協(xié)議熔酷。

SOAP

提供了標(biāo)準(zhǔn)的RPC(遠(yuǎn)程過程調(diào)用協(xié)議)方法來調(diào)用Web Service。

SOAP協(xié)議= HTTP協(xié)議+ XML數(shù)據(jù)格式

打個(gè)比喻:

HTTP

就是普通公路豺裆,XML就是中間的綠色隔離帶和兩邊的防護(hù)欄纯陨,SOAP就是普通公路經(jīng)過加隔離帶和防護(hù)欄改造過的高速公路。


WebService開發(fā):

Java方面的典型WebService框架包括:axis留储,xfire翼抠,cxf等,java ee服務(wù)器通常也支持發(fā)布WebService服務(wù)获讳,例如JBoss阴颖。


java開發(fā)webservice的幾種方式

1.Axis2

2.Apche CXF

3.JDK

開發(fā)webservice

詳情請?jiān)L問以下地址

http://blog.sina.com.cn/s/blog_a0e7e34c0101959p.html


下面是一個(gè)簡單的例子:

寫在前面的話:

當(dāng)兩個(gè)人碰面后,產(chǎn)生了好感,如果需要得到雙方的信息,那么雙方的交流是必不可少的!應(yīng)用程序也如此,各個(gè)應(yīng)用程序之間的交流就需要WebService來作為相互交流的橋梁!

1、新建WebService服務(wù)端丐膝,并編寫相應(yīng)的方法量愧,以供客戶端調(diào)用,此處為getName()方法

2帅矗、編寫main方法偎肃,發(fā)布WebService服務(wù)

3、瀏覽器訪問地址(這里是http://localhost:9001/Service/Function?wsdl)浑此,確定WebService服務(wù)發(fā)布成功

4累颂、命令窗口,執(zhí)行命令凛俱,生成相關(guān)類

5紊馏、編寫客戶端測試類,調(diào)用服務(wù)端方法

(1)蒲犬、新建WebService服務(wù)端?

(2)朱监、編寫main方法,發(fā)布WebService服務(wù)

package WebService;

import javax.jws.WebService;

import javax.xml.ws.Endpoint;

/**

?* Created by Paul on 2016/3/28.

?*/

@WebService

public class Function {

? ? /**

?? ? *該方法就是要暴露給其他應(yīng)用程序調(diào)用的方法

?? ? *供客戶端調(diào)用的方法

?? ? * @param name傳入?yún)?shù)

?? ? * @return String返回結(jié)果

?? ? */

? ? public String getName(String name){

? ? ? ? return "My name is "+name;

? ? }

? ? public static void main(String[]args){

? ? ? ? /**

?? ? ? ? * ↓↓第一句很重要原叮,用于發(fā)布服務(wù)端localhost為地址指向地址

?? ? ? ? * ↓↓ 9001為任意端口赫编,但必須未被占用

?? ? ? ? * ↓↓第二個(gè)參數(shù)new的為本類的類名

?? ? ? ? *運(yùn)行main方法相當(dāng)于發(fā)布WebService服務(wù)

?? ? ? ? */

? ? ? ? Endpoint.publish("http://localhost:9001/Service/Function",new Function());

? ? ? ? System.out.println("Publish Success~");

? ? }

}


(3)瀏覽器訪問地址(這里是http://localhost:9001/Service/Function?wsdl)巡蘸,確定WebService服務(wù)發(fā)布成功

WebService服務(wù)發(fā)布成功的截圖:

(4)命令窗口,執(zhí)行命令擂送,生成相關(guān)類

格式:wsimport -s -p <生成類所在包名> -keep

示例:

wwsimport -s D:\IdeaWork\src -p WebServiceClient.com.jin -keep

http://localhost:9001/Service/Function?wsdl

注意:

?? 1)地址不可含空格

?? 2)不要漏了'?wsdl'

命令提示窗口執(zhí)行命令截圖:

執(zhí)行完命令悦荒,生成的包結(jié)構(gòu)截圖:

(5)編寫客戶端測試類,調(diào)用服務(wù)端方法

測試類


package WebServiceClient.com.jin.test;

import WebServiceClient.com.jin.client.Function;

import WebServiceClient.com.jin.client.FunctionService;

/**

?* Created by Paul on 2016/3/28.

?*/

public class TestClient {

? ? public static void main(String[]args){

? ? ? ? //初始化對象

? ? ? ? Function function = new FunctionService().getFunctionPort();

? ? ? ? //調(diào)用對象中的方法

? ? ? ? String name = function.getName(“Paul”);

? ? ? ? //打印返回結(jié)果

? ? ? ? System.out.println(name);

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末团甲,一起剝皮案震驚了整個(gè)濱河市逾冬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌躺苦,老刑警劉巖身腻,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猛蔽,死亡現(xiàn)場離奇詭異鸵贬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)绳姨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門愈诚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來她按,“玉大人,你說我怎么就攤上這事炕柔∽锰” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵匕累,是天一觀的道長陵刹。 經(jīng)常有香客問我,道長欢嘿,這世上最難降的妖魔是什么衰琐? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮炼蹦,結(jié)果婚禮上羡宙,老公的妹妹穿的比我還像新娘。我一直安慰自己掐隐,他們只是感情好狗热,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瑟枫,像睡著了一般斗搞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上慷妙,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音允悦,去河邊找鬼膝擂。 笑死虑啤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的架馋。 我是一名探鬼主播狞山,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼叉寂!你這毒婦竟也來了萍启?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤屏鳍,失蹤者是張志新(化名)和其女友劉穎勘纯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钓瞭,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驳遵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了山涡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堤结。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鸭丛,靈堂內(nèi)的尸體忽然破棺而出竞穷,到底是詐尸還是另有隱情,我是刑警寧澤鳞溉,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布瘾带,位于F島的核電站,受9級(jí)特大地震影響穿挨,放射性物質(zhì)發(fā)生泄漏月弛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一科盛、第九天 我趴在偏房一處隱蔽的房頂上張望帽衙。 院中可真熱鬧,春花似錦贞绵、人聲如沸厉萝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谴垫。三九已至,卻和暖如春母蛛,著一層夾襖步出監(jiān)牢的瞬間翩剪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工彩郊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留前弯,地道東北人蚪缀。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像恕出,于是被迫代替她去往敵國和親询枚。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容