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

WTP 1.0 開發 Web Service 實戰:從 Java Class 到 SOAP 服務

     編輯:Java 相關知識

五分鐘打造溫度轉換 Web Service — Eclipse WTP 入門實戰

Eclipse Web Tools Platform (WTP) 提供了圖形化精靈,讓開發者無需手寫 WSDL 即可將普通 Java 類別發布為標準 Web Service。本教學以溫度轉換服務為例,完整演示從專案建立到 SOAP 訊息檢視的全流程。

環境準備

  • Eclipse IDE (含 WTP 1.0+)
  • Apache Tomcat 5.0+ (本文以 5.0 為例)
  • 已配置 Server Runtime Environment

步驟 1:建立動態 Web 專案

  1. File → New → Dynamic Web Project
  2. 專案名稱:ConverterProj
  3. Target Runtime:選擇已配置的 Tomcat 5.0
  4. 其餘保持預設,點擊 Finish

步驟 2:編寫業務邏輯類別

在 wtp 套件下建立 Converter.java:

package wtp;

public class Converter {
    public float celsiusToFarenheit(float celsius) {
        return (celsius * 9 / 5) + 32;
    }

    public float farenheitToCelsius(float farenheit) {
        return (farenheit - 32) * 5 / 9;
    }
}

關鍵慣例:方法名首字母必須小寫。若使用 CelsiusToFarenheit 會拋出 org.apache.axis.InternalException: Couldn't find a matching Java operation for WSDD operation "celsiusToFarenheit",因 Axis 反射機制僅識別小寫開頭的方法名。

步驟 3:發布為 Web Service

  1. 右鍵點選 Converter.java → New → Other → Web Services → Web Service
  2. 配置精靈:
    Web Service 精靈步驟 1
    Web Service 精靈步驟 2
  3. 若 Tomcat 未啟動,精靈會提示 Start Server,確認啟動
  4. 完成後專案結構將自動生成 WSDD、WSDL 等部署描述檔
    發布完成畫面

步驟 4:功能驗證

  1. 在 WTP 測試介面的 Methods 下拉選單選擇 celsiusToFarenheit
  2. 輸入參數 37,點擊 Invoke
  3. 預期回傳 98.6
    測試結果

步驟 5:SOAP 訊息深度檢視

啟用 TCP/IP Monitor 捕獲網路封包:

  • Request 端:SOAP Request
  • Response 端:SOAP Response

觀察 SOAP Envelope 結構、命名空間宣告、參數序列化格式,有助於理解 Axis 底層序列化機制與跨平台互通性。

常見坑點與避雷指南

問題現象根因解決方案
方法名找不到方法名首字母大寫強制小寫開頭 (camelCase)
ClassNotFoundException專案未正確部署到 Tomcat檢查 Server 標籤頁模組部署狀態
TCP/IP Monitor 無資料監聽埠口衝突Window → Preferences → Run/Debug → TCP/IP Monitor 重新配置埠口

進階延伸

  • 加入 @WebService、@WebMethod 註解 (JSR-181) 簡化配置
  • 使用 wsgen/wsimport 生成客戶端存根
  • 整合 Spring 管理 Service Bean 生命週期

本教學源碼及圖片來源:子孑博客 原文連結

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