Java6上开发WebService
生活随笔
收集整理的這篇文章主要介紹了
Java6上开发WebService
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Java6上開(kāi)發(fā)WebService
2010-01-23 16:19:00
標(biāo)簽:Java6 WebService 休閑 職場(chǎng)
版權(quán)聲明:原創(chuàng)作品,如需轉(zhuǎn)載,請(qǐng)與作者聯(lián)系。否則將追究法律責(zé)任。
近日朋友問(wèn)起Java開(kāi)發(fā)WebService的問(wèn)題,于是為其寫了一份簡(jiǎn)單說(shuō)明,貼于博客,與各位朋友分享。 一、?????? 開(kāi)發(fā)環(huán)境 從Java6開(kāi)始,JDK中已經(jīng)支持用Java開(kāi)發(fā)WebService應(yīng)用了,不必選用第三方包。因此建議授課軟件環(huán)境如下:
? 如果軟件下載和安裝有問(wèn)題,可另行溝通。 二、?????? 樣例說(shuō)明 下面是一個(gè)Java6開(kāi)發(fā)Web Service的入門例子,項(xiàng)目結(jié)構(gòu)如下: 完整例子共分為三部分 l? 服務(wù)器端在包jerry.ws中(手工編寫) l? 客戶端在包jerry.wsclient中(自動(dòng)生成) l? 啟動(dòng)客戶端入口在jerry.RunDemo類中(手工編寫)。 ? 一、?????? 樣例使用步驟 ? 1.??? 新建Java項(xiàng)目 2.??? 將服務(wù)器端代碼加入到項(xiàng)目中 Java6WS代碼如下: ? package jerry.ws;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class Java6WS {
??public String doSomething() {
????return "這是基于Java6的WebService";
??}
??public static void main(String[] args) {
????String url="http://localhost:8080/AxisWS/jerry.ws.Java6WS";
????Endpoint.publish(url,new Java6WS());
??}
}
3.??? 運(yùn)行服務(wù) 1)???? 啟動(dòng)jerry.ws.Java6WS類 啟動(dòng)后控制臺(tái)信息如下: 注意:維持現(xiàn)狀,不要關(guān)閉運(yùn)行。 2)???? 查看WSDL 該步驟是向?qū)W生解釋WSDL中XML信息。 打開(kāi)瀏覽器,在地址欄里輸入 http://localhost:8080/AxisWS/jerry.ws.Java6WS?wsdl 運(yùn)行結(jié)果如下: ? 4.??? 調(diào)用服務(wù) Java6提供生成WebService客戶端代碼工具。 注意,在生成前需要先啟動(dòng)服務(wù)端。如果已經(jīng)在啟動(dòng),就不需要重新啟動(dòng)。 1)???? 進(jìn)入src目錄 這里的src是指你當(dāng)前項(xiàng)目的src目錄。 2)???? 運(yùn)行生成客戶端命令wsimport wsimport –p jerrry.wsclient –keep http://localhost:8080/AxisWS/jerry.ws.Java6WS?wsdl ? 3)???? 刷新Eclipse項(xiàng)目 為了將生成的代碼引入項(xiàng)目,需要刷新一下項(xiàng)目。 ????? 客戶端代碼生成后一般不宜自行改動(dòng)。一般做法是,如果服務(wù)發(fā)生了變化,可以用此方法重新生成一下。 4)???? 調(diào)用客戶端 客戶端實(shí)際上可以看做是WebService的代理類。所以使用WebService,從代碼上就是使用客戶端代理類。 jerry.RunDemo類代碼如下: package jerry;
import jerry.wsclient.Java6WS;
import jerry.wsclient.Java6WSService;
public class RunDemo {
??/**
????* @param args
????*/
??public static void main(String[] args) {
????????????????Java6WS java6WS = new Java6WSService().getJava6WSPort();????
????????????????String returnContent = java6WS.doSomething();????
????????????????System.out.println(returnContent);
??}
}
5)???? 啟動(dòng)測(cè)試 啟動(dòng)jerry.RunDemo類,注意,仍然要保持服務(wù)是啟動(dòng)狀態(tài)。 6)???? OK,大功告成。
| 軟件及其版本 | 必需 | 安裝順序 |
| JDK1.6u18 | 必需 | 1 |
| Eclipse3.5 JavaEE版 | 必需 | 2 |
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class Java6WS {
??public String doSomething() {
????return "這是基于Java6的WebService";
??}
??public static void main(String[] args) {
????String url="http://localhost:8080/AxisWS/jerry.ws.Java6WS";
????Endpoint.publish(url,new Java6WS());
??}
}
3.??? 運(yùn)行服務(wù) 1)???? 啟動(dòng)jerry.ws.Java6WS類 啟動(dòng)后控制臺(tái)信息如下: 注意:維持現(xiàn)狀,不要關(guān)閉運(yùn)行。 2)???? 查看WSDL 該步驟是向?qū)W生解釋WSDL中XML信息。 打開(kāi)瀏覽器,在地址欄里輸入 http://localhost:8080/AxisWS/jerry.ws.Java6WS?wsdl 運(yùn)行結(jié)果如下: ? 4.??? 調(diào)用服務(wù) Java6提供生成WebService客戶端代碼工具。 注意,在生成前需要先啟動(dòng)服務(wù)端。如果已經(jīng)在啟動(dòng),就不需要重新啟動(dòng)。 1)???? 進(jìn)入src目錄 這里的src是指你當(dāng)前項(xiàng)目的src目錄。 2)???? 運(yùn)行生成客戶端命令wsimport wsimport –p jerrry.wsclient –keep http://localhost:8080/AxisWS/jerry.ws.Java6WS?wsdl ? 3)???? 刷新Eclipse項(xiàng)目 為了將生成的代碼引入項(xiàng)目,需要刷新一下項(xiàng)目。 ????? 客戶端代碼生成后一般不宜自行改動(dòng)。一般做法是,如果服務(wù)發(fā)生了變化,可以用此方法重新生成一下。 4)???? 調(diào)用客戶端 客戶端實(shí)際上可以看做是WebService的代理類。所以使用WebService,從代碼上就是使用客戶端代理類。 jerry.RunDemo類代碼如下: package jerry;
import jerry.wsclient.Java6WS;
import jerry.wsclient.Java6WSService;
public class RunDemo {
??/**
????* @param args
????*/
??public static void main(String[] args) {
????????????????Java6WS java6WS = new Java6WSService().getJava6WSPort();????
????????????????String returnContent = java6WS.doSomething();????
????????????????System.out.println(returnContent);
??}
}
5)???? 啟動(dòng)測(cè)試 啟動(dòng)jerry.RunDemo類,注意,仍然要保持服務(wù)是啟動(dòng)狀態(tài)。 6)???? OK,大功告成。
本文出自 “王杰瑞的技術(shù)博客” 博客,轉(zhuǎn)載請(qǐng)與作者聯(lián)系!
總結(jié)
以上是生活随笔為你收集整理的Java6上开发WebService的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mac 远程ftp服务器文件共享,mac
- 下一篇: Java日志操作总结