更新時間:2019-10-15 09:52:41 來源:動力節點 瀏覽17501次
WebService技術,能使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件,就可相互交換數據或集成。依據WebService規范實施的應用之間,無論它們所使用的語言、平臺或內部協議是什么,都可以相互交換數據。WebService是自描述、自包含的可用網絡模塊,可以執行具體的業務功能。WebService也很容易部署,因為它們基于一些常規的產業標準以及已有的一些技術,諸如標準通用標記語言下的子集XML、HTTP。WebService減少了應用接口的花費。WebService為整個企業甚至多個組織之間的業務流程的集成提供了一個通用機制
1.在eclipse或myclipse新建一個Web項目,并新建一個class類,用于發布;
2.編寫供客戶端調用的方法,即編譯方法代碼;
示例:
importjavax.jws.WebMethod;
importjavax.jws.WebService;
importjavax.xml.ws.Endpoint;
/**
*Title:ServiceHello
*Description:基于jdk1.6以上的javax.jws發布webservice接口
@WebService-它是一個注解,用在類上指定將此類發布成一個ws。
Endpoint–此類為端點服務類,它的方法publish用于將一個已經添加了@WebService注解
對象綁定到一個地址的端口上。
*Version:1.0.0
*@authorpanchengming
*/
@WebService
publicclassJwsServiceHello{
/**供客戶端調用方法該方法是非靜態的,會被發布
*@paramname傳入參數
*@returnString返回結果
**/
publicStringgetValue(Stringname){
return"歡迎你!"+name;
}
/**
*方法上加@WebMentod(exclude=true)后,此方法不被發布;
*@paramname
*@return
*/
@WebMethod(exclude=true)
publicStringgetHello(Stringname){
return"你好!"+name;
}
/**靜態方法不會被發布
*@paramname
*@return
*/
publicstaticStringgetString(Stringname){
return"再見!"+name;
}
//通過EndPoint(端點服務)發布一個WebService
publicstaticvoidmain(String[]args){
/*參數:1,本地的服務地址;
3.提供服務的類;
*/
Endpoint.publish("http://192.168.1.105:8080/Service/ServiceHello",newJwsServiceHello());
System.out.println("發布成功!");
//發布成功后在瀏覽器輸入http://192.168.1.105:8080/Service/ServiceHello?wsdl
}
}
4.進行編譯運行(注:失敗檢查jdk版本)
5.將所設地址加上?wsdl到瀏覽器上訪問,如出現XML格式代碼,則發布成功,反之,則否;(url:http://192.168.1.105:8080/Service/ServiceHello?wsdl)
生成代碼方式一
1.新建一個class類,用于調用webservice。右鍵src,找到WebServiceClient,并輸入wsdl地址,選擇下載代碼的路徑;(url:http://192.168.1.105:8080/Service/ServiceHello?wsdl)
2.將地址上的文件下載下來(注意和發布JDK一致);
3.寫調用方法調用下載下來的WebService中的java類中的方法;
示例:
importcom.pcm.ws.jws.JwsServiceHello;
importcom.pcm.ws.jws.JwsServiceHelloService;
/**
*
*Title:JwsClientHello
*Description:webService客戶端調用
*Version:1.0.0
*@authorpanchengming
*/
publicclassJwsClientHello{
publicstaticvoidmain(String[]args){
//調用webservice
JwsServiceHellohello=newJwsServiceHelloService().getJwsServiceHelloPort();
Stringname=hello.getValue("panchengming");
System.out.println(name);
}
}
生成代碼方式二
1.創建WebServiceProject,命名為TheClient。
2.在dos命令下輸入wsimport-s“src目錄”-p“生成類所在包名”-keep“wsdl發布地址”
示例:wsimport-sG:\workspace\webService\webService_Project\src-pcom.pcm.ws.jws-keephttp://192.168.1.105:8080/Service/ServiceHello?wsdl
3.成功則返回parsingWSDL…
generatingcode…
compilingcode…
4.刷新項目,生成類;
5,寫調用方法(同上);
如何發布一個Web服務:
a,在類上添加@WebService注解(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中)
b,通過EndPoint(端點服務)發布一個WebService(注:EndPoint是jdk提供的一個專門用于發布服務的類,該類的publish方法接收兩個參數,一個是本地的服務地址,二是提供服務的類。位于javax.xml.ws.Endpoint包中)
c,注:類上添加注解@WebService,類中所有非靜態方法都會被發布;
靜態方法和final方法不能被發布;方法上加@WebMentod(exclude=true)后,此方法不被發布;
以上就是動力節點java培訓機構小編介紹的“Java WebService接口生成和調用 圖文詳解”的內容,希望對大家有幫助,更多java最新資訊請繼續關注動力節點java培訓機構官網,每天會有精彩內容分享與你。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習