Java webservice簡(jiǎn)介:
WebService技術(shù),能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用無(wú)須借助附加的、專(zhuān)門(mén)的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。依據(jù)WebService規(guī)范實(shí)施的應(yīng)用之間,無(wú)論它們所使用的語(yǔ)言、平臺(tái)或內(nèi)部協(xié)議是什么,都可以相互交換數(shù)據(jù)。WebService是自描述、自包含的可用網(wǎng)絡(luò)模塊,可以執(zhí)行具體的業(yè)務(wù)功能。WebService也很容易部署,因?yàn)樗鼈兓谝恍┏R?guī)的產(chǎn)業(yè)標(biāo)準(zhǔn)以及已有的一些技術(shù),諸如標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的子集XML、HTTP。WebService減少了應(yīng)用接口的花費(fèi)。WebService為整個(gè)企業(yè)甚至多個(gè)組織之間的業(yè)務(wù)流程的集成提供了一個(gè)通用機(jī)制
一、Java WebService生成
1.在eclipse或myclipse新建一個(gè)Web項(xiàng)目,并新建一個(gè)class類(lèi),用于發(fā)布;
2.編寫(xiě)供客戶(hù)端調(diào)用的方法,即編譯方法代碼;
示例:
importjavax.jws.WebMethod;importjavax.jws.WebService;importjavax.xml.ws.Endpoint;@WebServicepublicclassJwsServiceHello{publicStringgetValue(Stringname){return"歡迎你!"+name;}@WebMethod(exclude=true)publicStringgetHello(Stringname){return"你好!"+name;}publicstaticStringgetString(Stringname){return"再見(jiàn)!"+name;}//通過(guò)EndPoint(端點(diǎn)服務(wù))發(fā)布一個(gè)WebServicepublicstaticvoidmain(String[]args){Endpoint.publish("http://192.168.1.105:8080/Service/ServiceHello",newJwsServiceHello());System.out.println("發(fā)布成功!");//發(fā)布成功后在瀏覽器輸入http://192.168.1.105:8080/Service/ServiceHello?wsdl}}
4.進(jìn)行編譯運(yùn)行(注:失敗檢查jdk版本)
5.將所設(shè)地址加上?wsdl到瀏覽器上訪(fǎng)問(wèn),如出現(xiàn)XML格式代碼,則發(fā)布成功,反之,則否;(url:http://192.168.1.105:8080/Service/ServiceHello?wsdl)
二、WebService調(diào)用方法
生成代碼方式一
1.新建一個(gè)class類(lèi),用于調(diào)用webservice。右鍵src,找到WebServiceClient,并輸入wsdl地址,選擇下載代碼的路徑;(url:http://192.168.1.105:8080/Service/ServiceHello?wsdl)
2.將地址上的文件下載下來(lái)(注意和發(fā)布JDK一致);
3.寫(xiě)調(diào)用方法調(diào)用下載下來(lái)的WebService中的java類(lèi)中的方法;
示例:
importcom.pcm.ws.jws.JwsServiceHello;importcom.pcm.ws.jws.JwsServiceHelloService;publicclassJwsClientHello{publicstaticvoidmain(String[]args){//調(diào)用webserviceJwsServiceHellohello=newJwsServiceHelloService().getJwsServiceHelloPort();Stringname=hello.getValue("panchengming");System.out.println(name);}}
生成代碼方式二
1.創(chuàng)建WebServiceProject,命名為T(mén)heClient。
2.在dos命令下輸入wsimport-s“src目錄”-p“生成類(lèi)所在包名”-keep“wsdl發(fā)布地址”
示例:wsimport-sG:workspacewebServicewebService_Projectsrc-pcom.pcm.ws.jws-keephttp://192.168.1.105:8080/Service/ServiceHello?wsdl
3.成功則返回parsingWSDL…
generatingcode…compilingcode…
4.刷新項(xiàng)目,生成類(lèi);
5,寫(xiě)調(diào)用方法(同上);
三、總結(jié):
如何發(fā)布一個(gè)Web服務(wù):
a,在類(lèi)上添加@WebService注解(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中)
b,通過(guò)EndPoint(端點(diǎn)服務(wù))發(fā)布一個(gè)WebService(注:EndPoint是jdk提供的一個(gè)專(zhuān)門(mén)用于發(fā)布服務(wù)的類(lèi),該類(lèi)的publish方法接收兩個(gè)參數(shù),一個(gè)是本地的服務(wù)地址,二是提供服務(wù)的類(lèi)。位于javax.xml.ws.Endpoint包中)
c,注:類(lèi)上添加注解@WebService,類(lèi)中所有非靜態(tài)方法都會(huì)被發(fā)布;
靜態(tài)方法和final方法不能被發(fā)布;方法上加@WebMentod(exclude=true)后,此方法不被發(fā)布;
以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)小編介紹的“Java WebService接口生成和調(diào)用 圖文詳解”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注天津卓眾教育java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。