




已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
使用Apache CXF開發(fā)WebServices服務(wù)端Apache CXF = Celtix + XFire。CXF 繼承了 Celtix 和 XFire 兩大開源項(xiàng)目的精華,提供了對(duì) JAX-WS 全面的支持,并且提供了多種 Binding 、DataBinding、Transport 以及各種 Format 的支持,并且可以根據(jù)實(shí)際項(xiàng)目的需要,采用代碼優(yōu)先(Code First)或者 WSDL 優(yōu)先(WSDL First)來(lái)輕松地實(shí)現(xiàn) Web Services 的發(fā)布和使用??傊?,就是cxf就是好啦。那么接下來(lái)我們使用cxf來(lái)開發(fā)一個(gè)webServices的服務(wù)端。體驗(yàn)CXF的好處。環(huán)境:MyEclipse6.01+jdk51)首先,建一個(gè)web工程.2)寫好一個(gè)接口和服務(wù)類/服務(wù)接口IHelloService.javapackage com.pengzj.service;import java.util.List;import javax.jws.WebMethod;import javax.jws.WebService;/* author atixujie#gz-accp*/WebServicepublic interface IHelloService WebMethod public String sayHi(String uname);/webServices的實(shí)現(xiàn)類IHelloServiceImpl .javaimport com.pengzj.service.IHelloService;WebServicepublic class IHelloServiceImpl implements IHelloService Override WebMethod public String sayHi(String uname) return Hello +uname; 大家可以注意到,這里用到了webServices的注解。WebService和WebMethod.3)導(dǎo)入CXF的jar包。到apache的網(wǎng)站上下載CXF的包。最新的版本是2.2.9 。當(dāng)然如果你下載這個(gè)包就會(huì)比較麻煩。因?yàn)樗枰钚碌腏Dk(1.6.01都不行。要什么1.6.u11)的支持。所以建議你還是下載2.0.4地址如下:/dist/incubator/cxf/2.0.4-incubator/apache-cxf-2.0.4-incubator.zip解壓之后將lib文件夾下的jar包都復(fù)制到項(xiàng)目中。4)配置CXF。然后將web.xml的配置文件改成如下:cxf cxf Apache CXF Endpoint cxf org.apache.cxf.transport.servlet.CXFServlet 1 cxf /services/* 60 org.springframework.web.context.ContextLoaderListener 5)配置Spring的配置文件。因?yàn)镃XF集成了Spring。所以以上的配置要默認(rèn)到WEB-INF/下找spring的配置文件applicationContext.xml。所以我們要在WEB-INF下建立一個(gè)Spring的配置文件applicationContext.xml如下: 準(zhǔn)備工作結(jié)束了。部署,運(yùn)行。在地址上輸入:http:/localhost:8080/cxfws_0619/services/就應(yīng)該可以看到一個(gè)超鏈接,點(diǎn)擊可以看到如下的wsdl-xml文件+ok.使用CXF開發(fā)服務(wù)端大功告成??偨Y(jié)步驟:1)建立web工程。導(dǎo)入cxf的jar包。2)配置web.xml文件3)配置spring的配置文件。同時(shí)配置好服務(wù)類的bean.4)部署運(yùn)行。在下一篇中,我們將介紹利用wsdl2java工具生成代碼,完成客戶端的調(diào)用。開發(fā)webServices的客戶端-通過(guò)wsdl2java接下來(lái)客戶端的調(diào)用從理論上來(lái)說(shuō)可以使用任意的方式來(lái)調(diào)用。因?yàn)閣ebServices的理念就是服務(wù)端和客戶端可以是異構(gòu)平臺(tái)。在之前的博客中,使用XFIRE作為客戶端?,F(xiàn)在我們使用根據(jù)wsdl文件自動(dòng)生成樁代碼的形式來(lái)開發(fā)客戶端。在cxf的包中解壓后有一個(gè)bin目錄。其中有一個(gè)wsdl2java.bat文件。這個(gè)文件可以幫助我們根據(jù)wsdl文件來(lái)生成客戶端的stub。也就是樁代碼。主要是生成和服務(wù)端一致的接口文件。在dos下使用這個(gè)命令(實(shí)際上myclipse有這個(gè)插件)wsdl2java -d d:src -clienthttp:/localhost:8080/cxfService_0617/services/Hellows?wsdl就會(huì)在d盤的src文件夾下生成一些包和java文件。src文件夾你要預(yù)先建立好。其中文件名最長(zhǎng)的那個(gè)文件就是主應(yīng)用程序。args0表示wsdl文件的位置,你需要手動(dòng)修改一下。public final class IHelloService_IHelloServiceImplPort_Client private static final QName SERVICE_NAME = new QName(/, IHelloServiceImplService); private IHelloService_IHelloServiceImplPort_Client() public static void main(String args) throws Exception String url=http:/localhost:8080/cxfService_0617/services/Hellows?wsdl; URL wsdlURL = null; File wsdlFile = new File(url); try if (wsdlFile.exists() wsdlURL = wsdlFile.toURL(); else wsdlURL = new URL(url); catch (MalformedURLException e) e.printStackTrace(); IHelloServiceImplService ss = new IHelloServiceImplService(wsdlURL, SERVICE_NAME); IHelloService port = ss.getIHelloServiceImplPort(); System.out.println(Invoking sayHi.); java.lang.String _sayHi_arg0 = jack; java.lang.String _sayHi_return = port.sayHi(_sayHi_arg0); System.out.println(sayHi.result= + _sayHi_return); System.exit(0); 運(yùn)行以上的程序結(jié)果為:Invoking sayHi.sayHi.result=Hello jack。-恭喜你,成功了。后續(xù):因?yàn)槲覀冊(cè)诜?wù)端的webServices方法比較簡(jiǎn)單,傳遞的是String,返回值也是string.如果傳入或返回的值帶有自定義的數(shù)據(jù)類型。那么生成
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商店鋪裝修設(shè)計(jì)及供應(yīng)鏈管理合作協(xié)議
- 跨境知識(shí)產(chǎn)權(quán)忠誠(chéng)協(xié)議資產(chǎn)凍結(jié)與知識(shí)產(chǎn)權(quán)保護(hù)協(xié)議
- 房屋相鄰權(quán)與物業(yè)管理服務(wù)合同
- 網(wǎng)絡(luò)廣告技術(shù)服務(wù)補(bǔ)充協(xié)議
- 智能家居網(wǎng)關(guān)設(shè)備研發(fā)與市場(chǎng)推廣服務(wù)合同
- 專屬私人飛機(jī)航線申請(qǐng)與VIP接送合同
- 員工股權(quán)解鎖與公司融資協(xié)議
- 生物檢測(cè)試劑盒市場(chǎng)推廣及銷售合作合同
- 現(xiàn)代化工企業(yè)生產(chǎn)管理體系建設(shè)
- 腰椎患者腹脹護(hù)理
- 2025屆陜西省咸陽(yáng)市高三模擬檢測(cè)(三)生物試題(原卷版+解析版)
- 壓力容器焊工試題及答案
- 2025年安徽省合肥市第四十二中學(xué)中考二模物理試題(含答案)
- 污水處理廠運(yùn)營(yíng)維護(hù)方案運(yùn)營(yíng)維護(hù)方案篇
- 【MOOC】中藥藥理學(xué)-學(xué)做自己的調(diào)理師-暨南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 觀感質(zhì)量檢查表
- 電子公章模板
- 企業(yè)信息登記表
- 窯爐課程設(shè)計(jì)-年產(chǎn)50萬(wàn)件衛(wèi)生潔具隧道窯設(shè)計(jì).doc
- 大中型水庫(kù)控制運(yùn)用計(jì)劃編寫大綱
- 北京大興生物醫(yī)藥基地詳介ppt課件
評(píng)論
0/150
提交評(píng)論