首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

NetBeans 5.0 + GlassFish 構建 JAX-WS 2.0 Web Service 完整指南

     編輯:Java 相關知識

環境準備

  • JDK 5.0+(JAX-WS 2.0 必需)
  • NetBeans 5.0 Beta 2
  • GlassFish b28+(11/23 之後版本),安裝路徑簡稱為 glassfish

NetBeans 整合 GlassFish

  1. 註冊伺服器:Tools → Server Manager → Add Server → Sun Java System Application Server → 指定 glassfish 目錄 → 管理密碼(預設 adminadmin)。
  2. 建立 GlassFish 庫:Tools → Library Manager → New Library "GlassFish" → Add JAR/Folder 選取 glassfish/lib/*.jar。專案屬性中取消「Compile-time Libraries」勾選,避免 WAR 包含重複 JAR。

從 Java 類創建 Web Service

  1. New Project → Web Application → 名稱 SampleApp,Server 選 GlassFish,Source Level 1.5。
  2. 右鍵 Source Packages → New Java Package my.sample.server。
  3. 新建 ServiceImpl.java(含 JAX-WS 註解 @WebService、@WebMethod)。
  4. 覆蓋 web.xml 至 WEB-INF/,聲明 Servlet:
<servlet>
  <servlet-name>HelloPort</servlet-name>
  <servlet-class>my.sample.server.ServiceImpl</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>HelloPort</servlet-name>
  <url-pattern>/hello</url-pattern>
</servlet-mapping>
  1. Run Main Project (F6) → 編譯、打包 WAR、部署、啟動瀏覽器顯示 WSDL。

創建 JUnit 客戶端測試

  1. New Java Package my.sample.test(Test Packages 下)。
  2. 新建 ServiceTest.java,調用生成的 Stub。
  3. 修改專案 build.xml,覆蓋 -pre-compile-test 目標,調用 wsimport 生成客戶端代碼:
<target name="-pre-compile-test">
  <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
    <classpath path="${javac.classpath}"/>
  </taskdef>
  <antcall target="run"/> <!-- 確保服務已部署 -->
  <wsimport debug="true" keep="true" destdir="test" package="my.sample.test.generated"
      wsdl="https://localhost:8080/SampleApp/hello?wsdl"/>
</target>
  1. Run → Test Project (Alt+F6) → 控制台顯示 "hello world" 返回值。

Web Services Registry 測試

Runtime 標籤 → Web Services → Add Web Service → 輸入 WSDL URL → Get Description → Test Operation 直接在 IDE 測試。

調試技巧

  • 在 ServiceImpl 斷點 → Debug Main Project (Ctrl+F5) → 服務器以調試模式啟動。
  • 修改 build.xml 中 antcall target="debug" → 測試客戶端同步調試雙端代碼。

進階:編寫自定義 Service / 從 WSDL 起步

  • 自定義 Service:刪除舊包,新建類,修改 web.xml servlet-name(服務名+Port)、servlet-class,按編譯錯誤提示修正。
  • 從 WSDL 生成:
    1. WEB-INF/wsdl/ 放入 hello.wsdl。
    2. 新增 sun-jaxws.xml 定義端點、WSDL 位置。
    3. 建立實現類,包名匹配 sun-jaxws.xml。
    4. 覆蓋 -pre-compile 目標調用 wsimport 生成介面:
    <wsimport destdir="src/java" package="YOUR_PACKAGE"
        wsdl="${basedir}/web/WEB-INF/wsdl/YOUR_FILE.wsdl"/>
  • 編譯、部署、驗證。

總結

NetBeans + GlassFish 讓 JAX-WS 2.0 開發極度流暢:無需手動 wsgen,IDE 自動處理部署與 WSDL 發布;內建測試與調試工具覆蓋全生命週期。掌握 build.xml 客製化,即可應對從 Java 起步或從 WSDL 起步的各種場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved