日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JDK6.0中webservice的使用淺析

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

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、鹽津網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為鹽津等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

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

我用的是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. @WebMethod(action = " sayHi " , operationName = " sayHi " )
  12. public String sayHi(@WebParam(name = " MyName " ) String name)
  13. {
  14. return " Hi, " + name; // @WebParam是自定義參數(shù)name在WSDL中相關(guān)的描述
  15. }
  16. @Oneway // 表明該服務(wù)方法是單向的,既沒有返回值,也不應(yīng)該聲明檢查異常
  17. @WebMethod(action = " printSystemTime " , operationName = " printSystemTime " ) 
  18. // 自定義該方法在WSDL中相關(guān)的描述
  19. public void printTime()
  20. {
  21. System.out.println(System.currentTimeMillis());
  22. }
  23. public static void main(String[] args)
  24. {
  25. Thread wsPublisher = new Thread( new WSPublisher());
  26. wsPublisher.start();
  27. }
  28. private static class WSPublisher implements Runnable
  29. {
  30. public void run()
  31. {
  32. // 發(fā)布WSProvider到http: // localhost:8888/hechangmin/WSProvider這個(gè)地址,之前必須調(diào)用wsgen命令
  33. // 生成服務(wù)類WSProvider的支持類,命令如下:
  34. // wsgen -cp . WebServices.WSProvider
  35. Endpoint.publish("http://localhost:8888/JAVA-HE/WSProvider", new WSProvider());
  36. }
  37. }
  38. }

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

然后編譯文件。

進(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 描述語言)。

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

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

首先選擇項(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 建立測試文件:

 
 
 
  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. }
  19. }

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

Hi,hechangmin

輸出了。

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

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


當(dāng)前名稱:JDK6.0中webservice的使用淺析
標(biāo)題鏈接:http://m.5511xx.com/article/dpdspep.html