第16講-SOAP與CXF開發(fā)WebService課件_第1頁(yè)
第16講-SOAP與CXF開發(fā)WebService課件_第2頁(yè)
第16講-SOAP與CXF開發(fā)WebService課件_第3頁(yè)
第16講-SOAP與CXF開發(fā)WebService課件_第4頁(yè)
第16講-SOAP與CXF開發(fā)WebService課件_第5頁(yè)
已閱讀5頁(yè),還剩75頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第五卷:

XML和WebService服務(wù)

簡(jiǎn)單對(duì)象訪問協(xié)議SOAP與CXF開發(fā)WebService

第五卷:XML和WebService服務(wù)

簡(jiǎn)單對(duì)象訪問協(xié)2回顧了解ApacheAxis簡(jiǎn)介熟悉Axis應(yīng)用模型掌握安裝Axis掌握運(yùn)用Axis發(fā)布Web服務(wù)了解取消Web服務(wù)了解Axis22回顧了解ApacheAxis簡(jiǎn)介23目標(biāo)了解SOAP概念理解SOAP消息的結(jié)構(gòu)論述SOAP的優(yōu)點(diǎn)了解SOAP的實(shí)現(xiàn)熟悉CXF的下載和使用掌握使用CXF開發(fā)WebService掌握使用動(dòng)態(tài)客戶端訪問WebService3目標(biāo)了解SOAP概念34SOAP簡(jiǎn)介是為了解決互聯(lián)網(wǎng)中分布式計(jì)算所存在的互操作性問題而出現(xiàn)的。采用:HTTP和XML①HTTP用于SOAP消息的傳輸②XML是SOAP的編碼模式SOAP以XML形式提供了一個(gè)簡(jiǎn)單、輕量的用于在非集中、分布式環(huán)境中交換結(jié)構(gòu)化和對(duì)象信息的機(jī)制。4SOAP簡(jiǎn)介是為了解決互聯(lián)網(wǎng)中分布式計(jì)算所存在的互操作性問45SOAP組成組成:⑴SOAP封裝(Envelope),其定義了一個(gè)整體框架用來表示消息中包含什么內(nèi)容,誰(shuí)來處理內(nèi)容及處理是可選或是必需的;⑵SOAP編碼規(guī)則(encodingrules),定義用以交換應(yīng)用程序的數(shù)據(jù)類型實(shí)例的一系列機(jī)制⑶SOAPRPC表示,定義一個(gè)用來表示遠(yuǎn)程過程調(diào)用和應(yīng)答的協(xié)定。⑷SOAP綁定(binding),SOAP綁定使用底層協(xié)議傳送信息,主要描述SOAP消息如何包含在HTTP消息中進(jìn)行傳送5SOAP組成組成:56SOAP設(shè)計(jì)目標(biāo)主要目標(biāo)是作為一個(gè)簡(jiǎn)單輕便的可擴(kuò)展框架,以下傳統(tǒng)的消息系統(tǒng)和分布式系統(tǒng)的性質(zhì)不是SOAP規(guī)范范圍之內(nèi):⑴分布式垃圾收集⑵對(duì)象引用⑶激活機(jī)制6SOAP設(shè)計(jì)目標(biāo)主要目標(biāo)是作為一個(gè)簡(jiǎn)單輕便的可擴(kuò)展框架,以67SOAP消息包含3個(gè)元素的XML文檔信息項(xiàng)SOAPEnvelopeHeaderBlockAHeaderBlockBSOAPHeaderSOAPBodySOAP消息格式SOAP消息的根元素可選元素,是一種以非集中的方式增加SOAP消息功能的通用手法,其每個(gè)子元素都稱為Headerblock描述由誰(shuí)來處理及該處理是可選或必需的。消息體7SOAP消息包含3個(gè)元素的XML文檔信息項(xiàng)SOAPEnv78SOAP消息示例Headerblock旅行預(yù)訂請(qǐng)求SOAP8SOAP消息示例Headerblock旅行預(yù)訂請(qǐng)求SO89SOAP消息交換模式SOAP消息是從發(fā)送者向接收者單向傳送的。原始發(fā)送結(jié)點(diǎn)A中間節(jié)點(diǎn)B中間節(jié)點(diǎn)C最終接收結(jié)點(diǎn)D消息路徑:由一個(gè)或多個(gè)處理SOAP消息的中間節(jié)點(diǎn)構(gòu)成。SOAP定義三個(gè)屬性來控制中間節(jié)點(diǎn)和最終接收結(jié)點(diǎn)處理Headerblock:role、relay和mustUnderstandrole:確定Headerblock所針對(duì)的結(jié)點(diǎn)mustUnderStand:指示在HeaderBlock未被認(rèn)出的情況下該節(jié)點(diǎn)是否可以忽略

HeaderBlockrelay:指示該節(jié)點(diǎn)是發(fā)送還是放棄未被認(rèn)出的可選Header為通過的消息提供消息濾波能力,處理Header部分處理Body部分9SOAP消息交換模式SOAP消息是從發(fā)送者向接收者單向傳送910SOAP處理模型當(dāng)前SOAP節(jié)點(diǎn)利用role屬性處理所需Headerblock集合是否能處理mustUnderstand=true錯(cuò)誤消息NY處理消息(刪除被處理的HeaderBlock)到最終接收節(jié)點(diǎn)?下一節(jié)點(diǎn)NY10SOAP處理模型當(dāng)前SOAP節(jié)點(diǎn)利用role屬性處理所需1011一個(gè)接收SOAP消息的SOAP應(yīng)用程序必須按順序執(zhí)行以下的步驟處理消息:①識(shí)別應(yīng)用程序需要的SOAP消息的所有部分;②驗(yàn)證消息中的固定部分。如果不支持這些消息就放棄,同時(shí)還可以忽略消息的可選部分而不影響處理的結(jié)果;③如果該SOAP應(yīng)用程序不是消息的最終目的地,則在轉(zhuǎn)發(fā)消息之前刪除第1步中識(shí)別的所有部分SOAP處理過程-111一個(gè)接收SOAP消息的SOAP應(yīng)用程序必須按順序執(zhí)行以下1112SOAP處理過程-2中間節(jié)點(diǎn)在處理消息時(shí):①需要理解使用的交換方式(單向、請(qǐng)求-應(yīng)答、多路發(fā)送等)②需要了解消息模式中接收方的任務(wù)③需要了解使用的RPC機(jī)制、數(shù)據(jù)的表現(xiàn)方法或編碼,以及其它的語(yǔ)義12SOAP處理過程-2中間節(jié)點(diǎn)在處理消息時(shí):1213消息模式發(fā)送端接收端R單向發(fā)送端接收端R請(qǐng)求-響應(yīng)發(fā)送端RRRR13消息模式發(fā)送端接收端R單向發(fā)送端接收端R請(qǐng)求-響應(yīng)發(fā)送端1314傳輸協(xié)議獨(dú)立性SOAP協(xié)議的一個(gè)重要特點(diǎn)它獨(dú)立于底層傳輸機(jī)制為了確保各種SOAP應(yīng)用和基礎(chǔ)結(jié)構(gòu)之間的互操作性,定義協(xié)議綁定是必要的SOAP1.1規(guī)范定義了基于HTTP的協(xié)議綁定方式,利用HTTP請(qǐng)求和響應(yīng)消息來進(jìn)行SOAP消息交換14傳輸協(xié)議獨(dú)立性SOAP協(xié)議的一個(gè)重要特點(diǎn)它獨(dú)立于底層傳輸1415SOAPHTTP綁定請(qǐng)求響應(yīng)POST/path/bank.asmxHTTP/1.1Content-Type:text/xmlSOAPAction:”urn:banking:transfer”<soap:Envelope…HTTP/1.1200OKContent-Type:text/xmlContent-Length:nnnn<SOAp:Envelope…HTTP/1.1500serverErrorContent-Type:text/xmlContent-Length:nnnn<SOAp:Envelope…必須使用POST請(qǐng)求必須包含標(biāo)頭,消息意圖15SOAPHTTP綁定請(qǐng)求響應(yīng)POST/path/ban1516基于HTTPSOAPHTTP不是一個(gè)可靠的傳輸協(xié)議HTTP協(xié)議基于請(qǐng)求、響應(yīng)模型,客戶端需要等待應(yīng)答消息的接收完成才能繼續(xù)執(zhí)行(同步)選擇合適的傳輸協(xié)議16基于HTTPSOAPHTTP不是一個(gè)可靠的傳輸協(xié)議選擇1617基于JMSSOAP服務(wù)請(qǐng)求服務(wù)提供客戶端應(yīng)用Web服務(wù)API(JAX-RPC)Web服務(wù)引擎AXISJMS綁定支持JMS服務(wù)實(shí)現(xiàn)Web服務(wù)API(JAX-RPC)Web服務(wù)引擎AXISSOAP消息JMS綁定支持JMSJMS消息17基于JMSSOAP服務(wù)請(qǐng)求服務(wù)提供客戶端應(yīng)用Web服務(wù)17CXFWebService開發(fā)開發(fā)環(huán)境MyEclipseTomcatJdkCXF2.4.0版18CXFWebService開發(fā)開發(fā)環(huán)境1818一、準(zhǔn)備工作19一、準(zhǔn)備工作1919一、準(zhǔn)備工作一、準(zhǔn)備工作20二、CXF入門實(shí)例步驟1.新建java工程cxfservice導(dǎo)入CXF所依賴的核心jar包詳見課本p414頁(yè)請(qǐng)參考小課課件lib目錄下的jar包,直接構(gòu)建到Java工程中即可二、CXF入門實(shí)例步驟1.新建java工程cxfservi21二、CXF入門實(shí)例步驟1:定義DTO(數(shù)據(jù)傳輸對(duì)象)User類二、CXF入門實(shí)例步驟1:定義DTO(數(shù)據(jù)傳輸對(duì)象)Use22二、CXF入門實(shí)例步驟1:定義DTO(數(shù)據(jù)傳輸對(duì)象)User類二、CXF入門實(shí)例步驟1:定義DTO(數(shù)據(jù)傳輸對(duì)象)Use23二、CXF入門實(shí)例步驟2:編寫WebService服務(wù)接口二、CXF入門實(shí)例步驟2:編寫WebService服務(wù)接口24二、CXF入門實(shí)例步驟3:為WebService接口提供實(shí)現(xiàn)類二、CXF入門實(shí)例步驟3:為WebService接口提供實(shí)25步驟3:為WebService接口提供實(shí)現(xiàn)類步驟3:為WebService接口提供實(shí)現(xiàn)類26二、CXF入門實(shí)例經(jīng)過以上3步,使用cxf開發(fā)WebService所需的服務(wù)提供類都已經(jīng)開發(fā)完了,下面使用一個(gè)簡(jiǎn)單的主類來發(fā)布WebServie。cxf支持2種常用的發(fā)布WebService的方式:1.使用JAX-WS所提供的Endpoint發(fā)布WebService。(推薦使用方式,本課程使用此方式)2.使用CXF自身提供的JaxWsServerFactoryBean工廠類發(fā)布WebService。(候選方式,不推薦)二、CXF入門實(shí)例經(jīng)過以上3步,使用cxf開發(fā)WebSer27二、CXF入門實(shí)例步驟4:編寫服務(wù)器類代碼,發(fā)布WebService服務(wù)二、CXF入門實(shí)例步驟4:編寫服務(wù)器類代碼,發(fā)布WebSe28二、CXF入門實(shí)例運(yùn)行結(jié)果二、CXF入門實(shí)例運(yùn)行結(jié)果29二、CXF入門實(shí)例在WebService發(fā)布成功之后,使用瀏覽器來訪問該WebService所對(duì)應(yīng)的WSDL,在瀏覽器地址欄中輸入http://localhost:9999/crazyit?wsdl,結(jié)果如下:二、CXF入門實(shí)例在WebService發(fā)布成功之后,使用30二、CXF入門實(shí)例如果wsdl查看成功,客戶端即可遠(yuǎn)程調(diào)用該WebService,編寫客戶端調(diào)用WebService服務(wù)提供的方法二、CXF入門實(shí)例如果wsdl查看成功,客戶端即可遠(yuǎn)程調(diào)用31二、CXF入門實(shí)例客戶端執(zhí)行結(jié)果二、CXF入門實(shí)例客戶端執(zhí)行結(jié)果32三、CXF開發(fā)動(dòng)態(tài)客戶端調(diào)用已發(fā)布WebService服務(wù)準(zhǔn)備工作:動(dòng)態(tài)客戶端訪問,在這種方式下,我們模擬客戶端無法接觸WebService服務(wù)提供者的情形。使用CXF開發(fā)動(dòng)態(tài)客戶端需要借助于wsdl2java工具,此命令位于apache-cxf-3.0.2\bin目錄下,進(jìn)入該目錄,運(yùn)行以下命令:wsdl2java-frontendjaxws21http://localhost:9999/crazyit?wsdl注意:一定要保證你的服務(wù)已經(jīng)成功發(fā)布三、CXF開發(fā)動(dòng)態(tài)客戶端調(diào)用已發(fā)布WebService服務(wù)33三、CXF開發(fā)動(dòng)態(tài)客戶端步驟1:進(jìn)入cmd,運(yùn)行,如下圖所示即為成功,可以在bin目錄下看到自動(dòng)生成的org文件夾三、CXF開發(fā)動(dòng)態(tài)客戶端步驟1:進(jìn)入cmd,運(yùn)行,如下圖所示34三、CXF開發(fā)動(dòng)態(tài)客戶端步驟2:新建java工程DynaCXFService,然后直接復(fù)制bin目錄下的org文件夾到src目錄下,如下圖示:三、CXF開發(fā)動(dòng)態(tài)客戶端步驟2:新建java工程DynaCX35三、CXF開發(fā)動(dòng)態(tài)客戶端步驟3:在工程下新建包和類DynaClient,編寫客戶端調(diào)用遠(yuǎn)程WebService三、CXF開發(fā)動(dòng)態(tài)客戶端步驟3:在工程下新建包和類DynaC36三、CXF開發(fā)動(dòng)態(tài)客戶端步驟3:動(dòng)態(tài)客戶端代碼三、CXF開發(fā)動(dòng)態(tài)客戶端步驟3:動(dòng)態(tài)客戶端代碼37三、CXF開發(fā)動(dòng)態(tài)客戶端運(yùn)行結(jié)果三、CXF開發(fā)動(dòng)態(tài)客戶端運(yùn)行結(jié)果3839總結(jié)了解SOAP概念理解SOAP消息的結(jié)構(gòu)論述SOAP的優(yōu)點(diǎn)了解SOAP的實(shí)現(xiàn)熟悉CXF的下載和使用掌握使用CXF開發(fā)WebService掌握使用動(dòng)態(tài)客戶端訪問WebService39總結(jié)了解SOAP概念39態(tài)度決定命運(yùn),專注成就人生!Thanks!第16講-SOAP與CXF開發(fā)WebService課件40第五卷:

XML和WebService服務(wù)

簡(jiǎn)單對(duì)象訪問協(xié)議SOAP與CXF開發(fā)WebService

第五卷:XML和WebService服務(wù)

簡(jiǎn)單對(duì)象訪問協(xié)42回顧了解ApacheAxis簡(jiǎn)介熟悉Axis應(yīng)用模型掌握安裝Axis掌握運(yùn)用Axis發(fā)布Web服務(wù)了解取消Web服務(wù)了解Axis22回顧了解ApacheAxis簡(jiǎn)介4243目標(biāo)了解SOAP概念理解SOAP消息的結(jié)構(gòu)論述SOAP的優(yōu)點(diǎn)了解SOAP的實(shí)現(xiàn)熟悉CXF的下載和使用掌握使用CXF開發(fā)WebService掌握使用動(dòng)態(tài)客戶端訪問WebService3目標(biāo)了解SOAP概念4344SOAP簡(jiǎn)介是為了解決互聯(lián)網(wǎng)中分布式計(jì)算所存在的互操作性問題而出現(xiàn)的。采用:HTTP和XML①HTTP用于SOAP消息的傳輸②XML是SOAP的編碼模式SOAP以XML形式提供了一個(gè)簡(jiǎn)單、輕量的用于在非集中、分布式環(huán)境中交換結(jié)構(gòu)化和對(duì)象信息的機(jī)制。4SOAP簡(jiǎn)介是為了解決互聯(lián)網(wǎng)中分布式計(jì)算所存在的互操作性問4445SOAP組成組成:⑴SOAP封裝(Envelope),其定義了一個(gè)整體框架用來表示消息中包含什么內(nèi)容,誰(shuí)來處理內(nèi)容及處理是可選或是必需的;⑵SOAP編碼規(guī)則(encodingrules),定義用以交換應(yīng)用程序的數(shù)據(jù)類型實(shí)例的一系列機(jī)制⑶SOAPRPC表示,定義一個(gè)用來表示遠(yuǎn)程過程調(diào)用和應(yīng)答的協(xié)定。⑷SOAP綁定(binding),SOAP綁定使用底層協(xié)議傳送信息,主要描述SOAP消息如何包含在HTTP消息中進(jìn)行傳送5SOAP組成組成:4546SOAP設(shè)計(jì)目標(biāo)主要目標(biāo)是作為一個(gè)簡(jiǎn)單輕便的可擴(kuò)展框架,以下傳統(tǒng)的消息系統(tǒng)和分布式系統(tǒng)的性質(zhì)不是SOAP規(guī)范范圍之內(nèi):⑴分布式垃圾收集⑵對(duì)象引用⑶激活機(jī)制6SOAP設(shè)計(jì)目標(biāo)主要目標(biāo)是作為一個(gè)簡(jiǎn)單輕便的可擴(kuò)展框架,以4647SOAP消息包含3個(gè)元素的XML文檔信息項(xiàng)SOAPEnvelopeHeaderBlockAHeaderBlockBSOAPHeaderSOAPBodySOAP消息格式SOAP消息的根元素可選元素,是一種以非集中的方式增加SOAP消息功能的通用手法,其每個(gè)子元素都稱為Headerblock描述由誰(shuí)來處理及該處理是可選或必需的。消息體7SOAP消息包含3個(gè)元素的XML文檔信息項(xiàng)SOAPEnv4748SOAP消息示例Headerblock旅行預(yù)訂請(qǐng)求SOAP8SOAP消息示例Headerblock旅行預(yù)訂請(qǐng)求SO4849SOAP消息交換模式SOAP消息是從發(fā)送者向接收者單向傳送的。原始發(fā)送結(jié)點(diǎn)A中間節(jié)點(diǎn)B中間節(jié)點(diǎn)C最終接收結(jié)點(diǎn)D消息路徑:由一個(gè)或多個(gè)處理SOAP消息的中間節(jié)點(diǎn)構(gòu)成。SOAP定義三個(gè)屬性來控制中間節(jié)點(diǎn)和最終接收結(jié)點(diǎn)處理Headerblock:role、relay和mustUnderstandrole:確定Headerblock所針對(duì)的結(jié)點(diǎn)mustUnderStand:指示在HeaderBlock未被認(rèn)出的情況下該節(jié)點(diǎn)是否可以忽略

HeaderBlockrelay:指示該節(jié)點(diǎn)是發(fā)送還是放棄未被認(rèn)出的可選Header為通過的消息提供消息濾波能力,處理Header部分處理Body部分9SOAP消息交換模式SOAP消息是從發(fā)送者向接收者單向傳送4950SOAP處理模型當(dāng)前SOAP節(jié)點(diǎn)利用role屬性處理所需Headerblock集合是否能處理mustUnderstand=true錯(cuò)誤消息NY處理消息(刪除被處理的HeaderBlock)到最終接收節(jié)點(diǎn)?下一節(jié)點(diǎn)NY10SOAP處理模型當(dāng)前SOAP節(jié)點(diǎn)利用role屬性處理所需5051一個(gè)接收SOAP消息的SOAP應(yīng)用程序必須按順序執(zhí)行以下的步驟處理消息:①識(shí)別應(yīng)用程序需要的SOAP消息的所有部分;②驗(yàn)證消息中的固定部分。如果不支持這些消息就放棄,同時(shí)還可以忽略消息的可選部分而不影響處理的結(jié)果;③如果該SOAP應(yīng)用程序不是消息的最終目的地,則在轉(zhuǎn)發(fā)消息之前刪除第1步中識(shí)別的所有部分SOAP處理過程-111一個(gè)接收SOAP消息的SOAP應(yīng)用程序必須按順序執(zhí)行以下5152SOAP處理過程-2中間節(jié)點(diǎn)在處理消息時(shí):①需要理解使用的交換方式(單向、請(qǐng)求-應(yīng)答、多路發(fā)送等)②需要了解消息模式中接收方的任務(wù)③需要了解使用的RPC機(jī)制、數(shù)據(jù)的表現(xiàn)方法或編碼,以及其它的語(yǔ)義12SOAP處理過程-2中間節(jié)點(diǎn)在處理消息時(shí):5253消息模式發(fā)送端接收端R單向發(fā)送端接收端R請(qǐng)求-響應(yīng)發(fā)送端RRRR13消息模式發(fā)送端接收端R單向發(fā)送端接收端R請(qǐng)求-響應(yīng)發(fā)送端5354傳輸協(xié)議獨(dú)立性SOAP協(xié)議的一個(gè)重要特點(diǎn)它獨(dú)立于底層傳輸機(jī)制為了確保各種SOAP應(yīng)用和基礎(chǔ)結(jié)構(gòu)之間的互操作性,定義協(xié)議綁定是必要的SOAP1.1規(guī)范定義了基于HTTP的協(xié)議綁定方式,利用HTTP請(qǐng)求和響應(yīng)消息來進(jìn)行SOAP消息交換14傳輸協(xié)議獨(dú)立性SOAP協(xié)議的一個(gè)重要特點(diǎn)它獨(dú)立于底層傳輸5455SOAPHTTP綁定請(qǐng)求響應(yīng)POST/path/bank.asmxHTTP/1.1Content-Type:text/xmlSOAPAction:”urn:banking:transfer”<soap:Envelope…HTTP/1.1200OKContent-Type:text/xmlContent-Length:nnnn<SOAp:Envelope…HTTP/1.1500serverErrorContent-Type:text/xmlContent-Length:nnnn<SOAp:Envelope…必須使用POST請(qǐng)求必須包含標(biāo)頭,消息意圖15SOAPHTTP綁定請(qǐng)求響應(yīng)POST/path/ban5556基于HTTPSOAPHTTP不是一個(gè)可靠的傳輸協(xié)議HTTP協(xié)議基于請(qǐng)求、響應(yīng)模型,客戶端需要等待應(yīng)答消息的接收完成才能繼續(xù)執(zhí)行(同步)選擇合適的傳輸協(xié)議16基于HTTPSOAPHTTP不是一個(gè)可靠的傳輸協(xié)議選擇5657基于JMSSOAP服務(wù)請(qǐng)求服務(wù)提供客戶端應(yīng)用Web服務(wù)API(JAX-RPC)Web服務(wù)引擎AXISJMS綁定支持JMS服務(wù)實(shí)現(xiàn)Web服務(wù)API(JAX-RPC)Web服務(wù)引擎AXISSOAP消息JMS綁定支持JMSJMS消息17基于JMSSOAP服務(wù)請(qǐng)求服務(wù)提供客戶端應(yīng)用Web服務(wù)57CXFWebService開發(fā)開發(fā)環(huán)境MyEclipseTomcatJdkCXF2.4.0版58CXFWebService開發(fā)開發(fā)環(huán)境1858一、準(zhǔn)備工作59一、準(zhǔn)備工作1959一、準(zhǔn)備工作一、準(zhǔn)備工作60二、CXF入門實(shí)例步驟1.新建java工程cxfservice導(dǎo)入CXF所依賴的核心jar包詳見課本p414頁(yè)請(qǐng)參考小課課件lib目錄下的jar包,直接構(gòu)建到Java工程中即可二、CXF入門實(shí)例步驟1.新建java工程cxfservi61二、CXF入門實(shí)例步驟1:定義DTO(數(shù)據(jù)傳輸對(duì)象)User類二、CXF入門實(shí)例步驟1:定義DTO(數(shù)據(jù)傳輸對(duì)象)Use62二、CXF入門實(shí)例步驟1:定義DTO(數(shù)據(jù)傳輸對(duì)象)User類二、CXF入門實(shí)例步驟1:定義DTO(數(shù)據(jù)傳輸對(duì)象)Use63二、CXF入門實(shí)例步驟2:編寫WebService服務(wù)接口二、CXF入門實(shí)例步驟2:編寫WebService服務(wù)接口64二、CXF入門實(shí)例步驟3:為WebService接口提供實(shí)現(xiàn)類二、CXF入門實(shí)例步驟3:為WebService接口提供實(shí)65步驟3:為WebService接口提供實(shí)現(xiàn)類步驟3:為WebService接口提供實(shí)現(xiàn)類66二、CXF入門實(shí)例經(jīng)過以上3步,使用cxf開發(fā)WebService所需的服務(wù)提供類都已經(jīng)開發(fā)完了,下面使用一個(gè)簡(jiǎn)單的主類來發(fā)布WebServie。cxf支持2種常用的發(fā)布WebService的方式:1.使用JAX-WS所提供的Endpoint發(fā)布WebService。(推薦使用方式,本課程使用此方式)2.使用CXF自身提供的JaxWsServerFactoryBean工廠類發(fā)布WebService。(候選方式,不推薦)二、CXF入門實(shí)例經(jīng)過以上3步,使用cxf開發(fā)WebSer67二、CXF入門實(shí)例步驟4:編寫服務(wù)器類代碼,發(fā)布WebService服務(wù)二、CXF入門實(shí)例步驟4:編寫服務(wù)器類代碼,發(fā)布WebSe68二、CXF入門實(shí)例運(yùn)行結(jié)果二、CXF入門實(shí)例運(yùn)行結(jié)果69二、CXF入門實(shí)例在WebService發(fā)布成功之后,使用瀏覽器來訪問該WebService所對(duì)應(yīng)的WSDL,在瀏覽器地址欄中輸入http://localhost:9999/crazyit?wsdl,結(jié)果如下:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論