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)執行結果:
相關文章
- WebService 簡單入門教程(Java Web專案)WebJava
- C#中WebService的建立、部署和呼叫的簡單例項C#Web單例
- linux jboss伺服器釋出簡單java專案Linux伺服器Java
- SHA-256加密簡單例項(客戶端、服務端)加密單例客戶端服務端
- 策略模式與簡單java例項模式Java
- Java review--NIO例項:實現服務端和客戶端的簡單通訊JavaView服務端客戶端
- windows 服務例項Windows
- Java的Socket通訊簡單例項Java單例
- PHP呼叫Webservice例項PHPWeb
- C# 中 釋出訂閱例項C#
- websocket簡單例項Web單例
- apache cxf-2.4.3 +spring-3.0.5釋出SOAP協議WebService服務ApacheSpring協議Web
- 服務與質量釋出檔案
- 策略模式+單例模式+簡單工廠模式:推送服務模式單例
- golang讀取java或者go的webservice服務GolangJavaWeb
- 使用services.xml檔案釋出WebServiceXMLWeb
- JAVA中動態性例項解釋 (轉)Java
- 哪裡有免費提供開源專案釋出的服務
- java專案如何加密及釋出Java加密
- js解析xml檔案簡單程式碼例項JSXML
- Java建立WebService服務及客戶端實現JavaWeb客戶端
- C#釋出WebServiceC#Web
- 蘋果春季釋出會:或將釋出一項付費遊戲訂閱服務蘋果遊戲
- oracle監聽不到例項服務Oracle
- 微服務架構專案實戰:Spring Boot 如何建立簡單的 REST 服務微服務架構Spring BootREST
- phoenix API服務釋出API
- java多執行緒結合單例模式例項,簡單實用易理解Java執行緒單例模式
- opengl簡單入門例項
- javascript事件冒泡簡單例項JavaScript事件單例
- Spark 簡單例項(基本操作)Spark單例
- javascript this用法和簡單例項JavaScript單例
- Java建立WebService服務及客戶端實現(轉)JavaWeb客戶端
- 在Eclipse中,用XFire釋出web服務EclipseWeb
- python 搭建 webservice 服務端PythonWeb服務端
- CXF實現webService服務(一)Web
- Java經典例項:實現一個簡單堆疊Java
- WebService就是這麼簡單Web
- Laravel 服務容器、服務提供器、契約例項講解Laravel