JAVA專案中釋出WebService服務—簡單例項
1,在Java專案中釋出一個WebService服務:
如何釋出?
JDK1.6中JAX-WS規範定義瞭如何釋出一個WebService服務:
(1)用jdk1.6.0_21以後的版本釋出;
(2)與Web服務相關的類,都位於Javax.jws.*包中:
- @WebService——此註解用在類上指定將此類釋出成一個WebService;
- EndPoint——此類為端點服務類,其中publish()方法用於將一個已經新增了@WebService註解物件繫結到一個地址的埠上,用於釋出。
2,例子:
(1)釋出WebService服務
HelloWebService.java:
package cn.tgb.ws;
importjavax.jws.WebMethod;
importjavax.jws.WebService;
importjavax.xml.ws.Endpoint;
/**
* @WebService - 它是一個註解,用在類上指定將此類釋出成一個ws.
Endpoint – 此類為端點服務類,它的方法publish用於將一個已經新增了@WebService註解物件繫結到一個地址的埠上。
* @author xuemin
*
*/
@WebService
public classHelloWebService {
publicString HelloWord(String name){
return"Hello: "+name;
}
/**
*新增exclude=true後,HelloWord2()方法不會被髮布
* @param name
* @return
*/
@WebMethod(exclude=true)
publicString HelloWord2(String name){
return"Hello: "+name;
}
publicstatic void main(String[] args) {
/**
*引數1:服務的釋出地址
*引數2:服務的實現者
*/
Endpoint.publish("http://192.168.24.138:456/helloWord",new HelloWebService());
}
注:
* @WebService- 它是一個註解,用在類上指定將此類釋出成一個ws.
* Endpoint –此類為端點服務類,它的方法publish用於將一個已經新增了@WebService註解物件繫結到一個地址的埠上。
執行以上程式進行釋出。
(2)檢視wsdl
地址:http://192.168.24.138:456/helloWord?wsdl
只要在客戶端瀏覽器能看到此WSDL文件,說明服務釋出成功
以上服務釋出成功;
總結:
如何釋出一個Web服務:
- a,在類上新增@WebService註解 (注:此註解是jdk1.6提供的,位於javax.jws.WebService包中)
- b,通過EndPoint(端點服務)釋出一個WebService
(注:EndPoint是jdk提供的一個專門用於釋出服務的類,該類的publish方法接收兩個引數,一個是本地的服務地址,二是提供服務的類。位於javax.xml.ws.Endpoint包中) - c,注: 類上新增註解@WebService,類中所有非靜態方法都會被髮布; 靜態方法和final方法不能被髮布;方法上加@WebMentod(exclude=true)後,此方法不被髮布;
(3)客戶端訪問釋出的服務
根據WSDL文件來在客戶端編寫程式碼,訪問釋出的服務;但是,WSDL文件看不懂怎麼辦?程式碼該如何編寫?
——你看不懂,JDK看得懂,wsimport是JDK自帶的,可以根據WSDL文件生成客戶端呼叫程式碼的工具。無論伺服器端WebService使用什麼語言編寫的,都將在客戶端生成Java程式碼。所以伺服器用什麼語言編寫的並不重要。
wsimport.exe命令引數熟知:
-d:生成class檔案。預設引數。
-s:生成Java檔案 -p:自定義包結構
解析地址生成原始碼到E盤:
執行以上命令後,即可在E盤下生成如下包及類:
注:還可以自定義包結構:
自定義包結構的命令:
將生成的包及.java檔案複製到客戶端:如下圖
建立訪問服務的類:MyClient.java:
MyClient.java:
package cn.tgb.ws;
public classMyClient {
publicstatic void main(String[] args) {
HelloWebServiceServicehwss = new HelloWebServiceService();
HelloWebServicehws = hwss.getHelloWebServicePort();
Stringresult=hws.helloWord("hanxuemin");
System.out.println(result);
}
(4)執行結果:
相關文章
- C#中WebService的建立、部署和呼叫的簡單例項C#Web單例
- SHA-256加密簡單例項(客戶端、服務端)加密單例客戶端服務端
- Java的Socket通訊簡單例項Java單例
- C# 中 釋出訂閱例項C#
- C#釋出WebServiceC#Web
- pipeline釋出java網站專案Java網站
- opengl簡單入門例項
- Spark 簡單例項(基本操作)Spark單例
- 服務與質量釋出檔案
- python 搭建 webservice 服務端PythonWeb服務端
- WebService就是這麼簡單Web
- Android系統服務編寫例項-Binder(Java層AIDL)AndroidJavaAI
- oracle監聽不到例項服務Oracle
- EventBus詳解及簡單例項單例
- Vue專案入門例項Vue
- 爬蟲的例項專案爬蟲
- Python專案實戰例項Python
- 微服務架構專案實戰:Spring Boot 如何建立簡單的 REST 服務微服務架構Spring BootREST
- Java 例項 - 檔案寫入Java
- RabbitMq知識整理以及在java語言下的簡單例項MQJava單例
- Jenkins在Java web專案CI/CD中的簡單應用JenkinsJavaWeb
- Laravel 服務提供者業務使用例項Laravel
- ElasticSearch客戶端簡單操作例項Elasticsearch客戶端
- 專案資源管理流程例項
- SpringBoot + ES基本專案搭建例項Spring Boot
- Laravel 服務容器、服務提供器、契約例項講解Laravel
- JAVA服務例項記憶體高問題排查及解決Java記憶體
- SpringBoot與WebService的簡單實現Spring BootWeb
- 如何管理服務業務中的專案收入?
- phoenix API服務釋出API
- 蘋果春季釋出會:或將釋出一項付費遊戲訂閱服務蘋果遊戲
- Python中Scrapy框架元素選擇器XPath的簡單例項Python框架單例
- 26.RSA加密解密在Java專案中的簡單應用加密解密Java
- qml釋出專案
- jenkins專案釋出Jenkins
- 雲容器例項服務入門必讀
- 超級簡單入門vuex 小例項Vue
- 淡入淡出效果簡單程式碼例項
- XML節點自動生成簡單例項XML單例