国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java課堂:在Java EE Server中實現Web服務

2019-11-17 04:20:46
字體:
來源:轉載
供稿:網友

【賽迪網-IT技術報道】現在,我們開始在應用服務器上部署一個與前例類似的Web服務。為了能夠運行本節的例子,我們需要從http://java.sun.com/javaee/downloads/index.jsp 處下載一個Windows平臺下的Java EE 5 Update 4應用服務器(java_ee_sdk-5_04-windows-nojdk.exe)。

安裝并啟動服務器

如果您的機器上安裝有最新版的JDK,您可以選擇下載nojdk的安裝版本,否則,您需要下載”Java EE+JDK”的版本。雙擊下載的exe文件,安裝到您的本地硬盤(安裝目錄路徑中最好不要有空格和怪字符)。

啟動Java EE服務器的缺省域非常簡單,您只需要從”程序”菜單中選擇”Start Default Server”即可。

Start -> All PRograms -> Sun Microsystems -> Java EE 5 SDK -> Start Default Server

服務器啟動后,您可以在瀏覽器輸入下列地址,驗證一下您的服務器是否已經啟動。

http://127.0.0.1:8080/

有時,您會發現,使用命令行方式啟動服務器比較簡單,首先,您需要進入下面的目錄路徑下,執行下列命令:

cd %J2EE_HOME%/lib
asadmin-pause start-domain domain1
 

其中,J2EE_HOME是您機器上Java EE Server的安裝目錄。

服務器端和客戶端代碼

您可以在ch03/01_JaxWs/JavaEEServer/src目錄下找到本節使用的服務器及客戶端的源代碼文件(譯者注:本書代碼請從http://www.packtpub.com/files/code/3216_Code.zip處下載),下面是對這些源代碼的解釋:

HelloWebService.java

HelloWebService類中也使用了Java注解,這些注解的意思和前面的例子相同,此處不再贅述。

@WebService
public class HelloWebService {
  private static int times;
  public HelloWebService() {
    System.out.println("Inside HelloWebService.HelloWebService...");
  }
  public String hello(String param) {
    System.out.println("Inside HelloWebService.hello... - " + (++times));
    return "Return From Server : Hello " + param;
  }
}
 

Client.java

客戶端的代碼非常簡單:

public class Client {
  @WebServiceRef(wsdlLocation=
 "http://localhost:8080/HelloWebService/HelloWebServiceService?WSDL")
  static HelloWebServiceService service;
  public static void main(String[] args) {
    Client client = new Client();
    client.test();
  }
  public void test() {
    try {
        HelloWebService helloWebServicePort = service
            .getHelloWebServicePort();
        String ret = helloWebServicePort.hello(System
            .getProperty("user.name"));
        System.out.println("Hello result = " + ret);
    } catch (Exception e) {
        e.printStackTrace();
    }
  }
}
 

上面的代碼中,我們使用了javax.xml.WebServiceRef注解,該注解聲明了一個已發布的Web服務的引用,而@WebServiceRef使用wsdlLocation元素指明了HelloWebService這個服務的WSDL文件的位置;接下來,客戶端就可以獲取遠程服務的代理,從而通過代理調用Web服務方法。

運行服務器和客戶端

為了簡單起見,本例中我們也不對該服務進行打包,而只是直接將Web服務的實現類編譯后放到Java EE Server的autodeploy目錄中,及%J2EE_HOME%/domains/domain1/autodeploy目錄。

我們可以用一個ant命令執行以下三步:

  (1)編譯服務器端和客戶端代碼
    (2)把服務器端類部署到缺省域中
    (3)運行客戶端程序,向服務器端發送Web服務請求

現在,假定您的Java EE服務器已經啟動并運行,請到本章的源代碼目錄下,執行下列命令:


cd ch03/01_JaxWS/JavaEEServer
ant
 
上面命令執行后,控制臺上的輸出,您可以看到,客戶端首先向服務器發送請求,然后,服務器的響應會打印在客戶端的控制臺上。

當然,您也可以在瀏覽器中輸入http://localhost:8080/HelloWebService/HelloWebServiceService?WSDL,來訪問上面已經部署的Web服務的WSDL。

本文來源:Carl的賽迪IT博客!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉源县| 边坝县| 丹凤县| 丘北县| 五指山市| 仙居县| 吉安县| 会东县| 内丘县| 新野县| 广德县| 洪江市| 石渠县| 星子县| 新沂市| 皮山县| 那曲县| 高邮市| 临桂县| 连山| 淳安县| 万宁市| 健康| 河源市| 瑞丽市| 洛浦县| 遵化市| 彰化县| 新竹县| 杂多县| 清镇市| 舒城县| 普宁市| 樟树市| 海兴县| 平原县| 东源县| 华宁县| 蓬安县| 张家界市| 青川县|