自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JDK 6.0中web service的使用淺析

開(kāi)發(fā) 后端
JDK自帶有個(gè)輕量級(jí)的web service服務(wù)器的操作,關(guān)于JDK 6.0中web service的使用是什么情況呢?本文將向你介紹相關(guān)情況。

首先我們來(lái)認(rèn)識(shí)一下JDK 6.0中web service,Java 6.0 之后,其中JDK自帶有個(gè)輕量級(jí)的web service 服務(wù)器。如果你比較細(xì)心一定發(fā)現(xiàn)在你安裝Java的路徑下,有Java webservice 的示例代碼。

以前也用Java開(kāi)發(fā)過(guò)web service ,但是當(dāng)初用了一個(gè)apache 下axis開(kāi)源項(xiàng)目。不過(guò)Java自帶有何必舍近求遠(yuǎn)呢。今天我就把自己創(chuàng)建的最簡(jiǎn)單Java webservice 范例過(guò)程記錄下來(lái),與大家分享。

我用的是Netbeans 6,首先建立一個(gè)Java 應(yīng)用程序工程,名為WebServices。建立一個(gè)服務(wù)端程序。

package WebServices;

  1. import javax.jws. * ;  
  2. import javax.xml.ws.Endpoint;  
  3. /**  
  4. * @author hecm  
  5. */ 
  6. @WebService(targetNamespace = " http://www.blogjava.net/JAVA-HE " ,   
  7. serviceName = " HelloService " )  
  8. public class WSProvider  
  9. {  
  10. // @WebResult(name = "Greetings") // 自定義該方法返回值在WSDL中相關(guān)的描述  
  11.  
  12. @WebMethod(action = " sayHi " , operationName = " sayHi " )  
  13. public String sayHi(@WebParam(name = " MyName " ) String name)  
  14. {  
  15. return " Hi, " + name; // @WebParam是自定義參數(shù)name在WSDL中相關(guān)的描述  
  16.  
  17. }  
  18. @Oneway // 表明該服務(wù)方法是單向的,既沒(méi)有返回值,也不應(yīng)該聲明檢查異常  
  19.  
  20. @WebMethod(action = " printSystemTime " , operationName = " printSystemTime " )   
  21. // 自定義該方法在WSDL中相關(guān)的描述  
  22.  
  23. public void printTime()  
  24. {  
  25. System.out.println(System.currentTimeMillis());  
  26. }  
  27. public static void main(String[] args)  
  28. {  
  29. Thread wsPublisher = new Thread( new WSPublisher());  
  30. wsPublisher.start();  
  31. }  
  32. private static class WSPublisher implements Runnable  
  33. {  
  34. public void run()  
  35. {  
  36. // 發(fā)布WSProvider到http: // localhost:8888/hechangmin/WSProvider這個(gè)地址,之前必須調(diào)用wsgen命令  
  37. // 生成服務(wù)類WSProvider的支持類,命令如下:  
  38. // wsgen -cp . WebServices.WSProvider  
  39.  
  40. Endpoint.publish("http://localhost:8888/JAVA-HE/WSProvider"new WSProvider());  
  41. }  
  42. }  


在JDK 6.0中web service建立對(duì)應(yīng)的包,就不用說(shuō)了。

然后編譯文件。

進(jìn)入命令提示符下,進(jìn)入classes目錄,運(yùn)行:wsgen -cp . WebServices.WSProvider

可以看到將剛才的class 生成了幾個(gè)Java文件和class文件。

現(xiàn)在要做的是發(fā)布ws到http://localhost:8888/chinajash/WSProvider

而實(shí)際上的動(dòng)作就是:Endpoint.publish("http://localhost:8888/chinajash/WSProvider",new WSProvider());

當(dāng)然直接運(yùn)行WSProvider 。

然后輸入http://localhost:8888/JAVA-HE/WSProvider?wsdl

就已經(jīng)查看到生成的wsdl (webservice 描述語(yǔ)言)。

也就是服務(wù)端就OK了。

保持運(yùn)行。編寫(xiě)一個(gè)測(cè)試客戶端:

首先選擇項(xiàng)目,右鍵新建 web服務(wù)客戶端。其中ws url填入剛才生成的wsdl地址:

http://localhost:8888/JAVA-HE/WSProvider?wsdl

(實(shí)際上:和wsimport http://localhost:8888/JAVA-HE/WSProvider?wsdl 一樣的效果)

產(chǎn)生一個(gè)效果:在classes下 按照 之前指定的名字空間產(chǎn)生的包下(目錄結(jié)構(gòu))生成了7個(gè)幫助class。

然后我們建立一個(gè)包 client 建立測(cè)試文件:

  1. /*  
  2. * To change this template, choose Tools | Templates  
  3. * and open the template in the editor.  
  4. */ 
  5. package client;  
  6. import net.blogjava.java_he. * ;  
  7. /**  
  8. *  
  9. * @author hecm  
  10. */ 
  11. public class Test {  
  12. public static void main(String args[])  
  13. {  
  14. HelloService hs = new HelloService();  
  15. WSProvider ws = hs.getWSProviderPort();  
  16. System.out.println(ws.sayHi( " hechangmin " ));  
  17. ws.printSystemTime();  
  18. }  

運(yùn)行這個(gè)測(cè)試類:

Hi,hechangmin

輸出了。

JDK 6.0中web service的使用順利完成!

那么以上JDK 6.0中web service的使用是一點(diǎn)個(gè)人經(jīng)驗(yàn),你發(fā)布的地址***寫(xiě)成可配置。還有就是wsdl 中會(huì)嚴(yán)格按照你指定的url來(lái)訪問(wèn),比如你指定的127.0.0.1 那么你用本機(jī)IP的時(shí)候也許并不能順利訪問(wèn)。

【編輯推薦】

  1. JDK1.5中新的語(yǔ)言特征淺析
  2. JDK的安裝圖解與環(huán)境變量設(shè)置詳解
  3. JDK與JRE的關(guān)系和path的作用淺談
  4. JDK、SDK、JRE、JVM概念詳解
  5. JDK1.6的十大技術(shù)淺談
責(zé)任編輯:仲衡 來(lái)源: 百度空間
相關(guān)推薦

2009-07-08 14:06:22

ClassLoaderJDK源碼

2011-12-29 15:35:39

Web

2009-08-11 13:27:22

C#創(chuàng)建Web Ser

2009-07-08 17:59:51

JDK JRE

2009-07-07 13:02:29

JDK1.5

2009-06-30 15:32:00

入侵檢測(cè)Java Web

2009-04-04 21:18:17

IIS6.0缺陷

2009-07-06 10:02:22

JSP Servlet

2009-04-13 11:31:55

IBMdWWebService

2009-07-07 16:39:40

JDK Observe

2010-05-17 16:23:22

IIS 6.0

2011-04-06 13:39:18

2009-07-09 13:15:20

JDK1.6.0 To

2009-06-18 09:42:52

SpringXFire構(gòu)建Web

2010-01-22 18:41:32

Visual C++

2009-07-08 12:53:29

JDK源碼Java.lang.B

2009-11-23 19:50:33

ibmdwWebService

2009-07-09 11:02:37

JDK5.0內(nèi)置工具

2009-08-11 11:07:49

Java調(diào)用C# we

2009-07-17 17:43:49

Jruby開(kāi)發(fā)Web
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)