用於 JAX-RPC 應用程式的 WSDL2Java 指令

對 WSDL 檔執行 WSDL2Java 指令行工具,以建立 Java™ API 和部署描述子範本。

[z/OS]z/OS® 平台不支援 WSDL2Java 指令行工具。這項功能是由隨執行於 z/OS 平台的 WebSphere® Application Server 提供的組合工具所提供。

Web 服務說明語言 (WSDL) 檔說明 Web 服務。Java API for XML-based Remote Procedure Call (JAX-RPC) 1.1 規格定義與 Web 服務互動的 Java API 對映。 Web Services for Java Platform Enterprise Edition (Java EE) 規格定義在 Java EE 環境中用於部署 Web 服務的部署描述子。 對 WSDL 檔執行 WSDL2Java 指令時,可根據這些規格建立 Java API 和部署描述子範本。

最佳作法 最佳作法: 最佳作法是在 WSDL 或綱目內使用絕對名稱空間。依預設,WSDL2Java 工具不允許使用相對名稱空間。 XML Plenary Interest Group 已淘汰相對名稱空間,依照「標準 XML 1.0 版」規格所規定,使用相對名稱空間會造成「XML 數位簽章」失敗。 不過,如果您有根據相對名稱空間所建立的 WSDL 或綱目,在特定的情況下,您可以在 WSDL2Java 工具中使用 allowRelativeNamespace 內容,以停用相對名稱空間限制。 如需相關資訊,請參閱內容說明。bprac
您可以將任何相對名稱空間轉換為絕對名稱空間。下列是相對名稱空間的範例:
targetNamespace="MyRelNamespace"
. 您可以將這個範例中的相對名稱空間加上通訊協定和基本 URI 資訊,以變更為絕對名稱空間:
targetNamespace="http://www.sample.com/MyRelNamespace"

指令行語法

指令行語法為:
WSDL2Java [arguments] WSDL-URI

必要引數

  • WSDL-URI

    使用通用資源識別碼 (URI) 指定輸入 WSDL 檔的位置。如果 WSDL 檔位於本端檔案系統,您也可以使用一般檔案路徑。

重要引數

  • -role Java EE 角色
    指定 Java EE 開發角色,用以識別要產生的檔案。有效的引數包括:
    • client

      develop-client 和 deploy-client 引數的組合。

    • deploy-client

      產生用於用戶端部署的連結檔。

    • deploy-server

      產生用於伺服器部署的連結檔。

    • develop-client(預設值)

      產生用於用戶端開發的檔案。

    • develop-server

      產生用於伺服器開發的檔案。

    • 伺服器

      develop-server 和 deploy-server 引數的組合。

  • -container Java EE 儲存器
    指出要使用的 Java EE 儲存器。有效的引數包括:
    • client

      指出用戶端儲存器。

    • ejb

      指出 Enterprise JavaBeans (EJB) 儲存器。

    • 指出沒有儲存器。

    • web

      指出 Web 儲存器。

    對於用戶端角色(請參閱 -role 選項),預設參數為 none。對於伺服器角色,儲存器必須是 ejbweb。開發和部署必須使用相同的儲存器選項。
  • -output 目錄

    為產生的檔案設定根目錄。

  • -inputMappingFile 對映檔

    指定 Web Services for Java EE 對映檔的檔名。

  • -introspect

    現有的 Java Bean 搭配新的 Web 服務 API 一起使用。

    在某些情況下,適合使用現有的 Java 類別,而不是產生新的類別。 -introspect 選項指示 WSDL2Java 指令在產生類別時檢查現有的 Java 類別。 將會根據 JAX-RPC 規格來驗證現有的類別。例如:

    假設有一個現有的 Java Bean
    public class Bean {
    	public Date x;
    }
    WSDL 檔將 x 定義為 xsd:dateTime。 如果沒有 -introspect 選項,WSDL2Java 指令會產生類似下列範例的 Java Bean:
    public class Bean {
    	private Calendar x;
    	public void setx(Calendar value) (x=value;)
    	public Calendar getX() { return x;)
    }
    WSDL2Java 指令會使用 -introspect 選項來檢查原始 Java Bean,並產生與現有的 Java Bean 相容的類別。
  • -classpath 路徑

    定義替代類別路徑來搜尋 Java 類別。

  • -noDataBinding

    停用 XML 類型到 Java 類型的連結。每一個 XML 類型改為對映到由 SOAP with Attachments API for Java (SAAJ) 規格所定義的 javax.xml.soap.SOAPElement 介面。

    Java API for XML Web Services (JAX-WS) 程式設計模型支援 SAAJ 1.2 和 1.3。

    JAX-RPC 程式設計模型支援 SAAJ 1.2。

    Java 程式設計模型定義一部分 XML 類型的 Java 對映。 有些 XML 類型無法對映到 Java Bean 或基本元素。 在此情況下,WSDL2Java 指令會將類型對映到 SAAJ SOAPElement。 SAAJ SOAPElement 是訊息中元素的通用表示法。SOAPElement 的方法可用來檢查元素及其子元素。

    在某些情況下,完全只使用通用 SOAPElement 對映可能更合適。 如果要進一步瞭解 SOAPElement 的用法,請參閱「SOAP with Attachments API for Java 介面」和「JAX-RPC 應用程式的自訂資料連結程式」的相關資訊。

    如需支援的標準和規格的完整清單,請參閱 Web 服務規格與 API 說明文件。

  • -help

    顯示說明訊息並結束。

  • -helpX

    顯示延伸選項的說明訊息。選項包括:

  • -verbose

    顯示處理資訊,包括產生的檔案的名稱。

  • -NStoPkg namespace=package

    依預設會自動從 WSDL 檔中的名稱空間字串衍生套件名稱。 比方說,如果名稱空間是 http://x.y.comurn:x.y.com 形式,則對應的套件為 com.y.x

    您可以使用 -NStoPkg 引數提供您自己的對映,對於每個唯一的名稱空間對映,可依需要重複這樣使用。 比方說,如果 WSDL 檔中的名稱空間稱為 urn:AddressFetcher2,而您希望從這個名稱空間中的物件所產生的檔案放在 samples.addr 套件中,請在 WSDL2Java 指令上提供 -NStoPkg "http://urn:AddressFetcher2/"=samples.addr 引數。

  • -timeout 秒數

    指定 WSDL2Java 指令等待 WSDL-URI 回應時,經過多久之後放棄(秒)。預設值為 45 秒;-1 停用逾時。

  • -genResolver

    產生絕對匯入解析器類別。這個類別用於記錄 WSDL URI 所使用的匯入的 WSDL 檔的內容。 此類別由執行時期使用,也可用於後續執行的 WSDL2Java 指令。 當匯入的 WSDL 檔在遠端而可能無法存取時,這種靈活性就能發揮作用。使用匯入解析器時,就不可能發生 WSDL 檔的內容在執行時期和開發期間不一致的情況。 產生的類別稱為 _AbsoluteImportResolver.java。編譯這個類別,並與 WSDL2Java 指令所產生的其他 Java 類別封裝在一起。

  • -useResolver 解析器類別

    指定剖析期間使用的絕對匯入解析器類別。在前一次使用 -genResolver 選項執行 WSDL2Java 指令期間必須建立這個類別。此類別必須存在 CLASSPATH 變數中。

  • -deployScope 引數
    指出如何部署伺服器實作。有效的引數包括:
    • 應用程式

      對所有要求使用一個實作類別實例。

    • 要求

      對每一個要求建立新的實作類別實例。

    • 階段作業

      對每一個階段作業建立新的實作類別實例。

其他引數

  • -user id

    指定用來存取 WSDL URI 的登入使用者名稱。

  • -password 密碼

    指定用來存取 WSDL URI 的登入使用者密碼。

  • -all

    為所有類型(即使未參照)產生 Java 檔。

  • -allowRelativeNamespace true 或 false

    指定是否停用相對名稱空間限制。 如果指定 -allowRelativeNamespace=true,相對名稱空間限制會停用。

    避免困難 避免困難: 只有當您已建立依賴相對名稱空間的 WSDL 檔或綱目,而且想要與一群允許使用相對名稱空間的既定供應商交互作業時,才應該使用這個內容。gotcha
  • -debug

    列印除錯資訊。

  • -genJava 引數
    產生 Java 檔。 有效的引數包括:
    • IfNotExists(預設值)
    • Overwrite
  • -javaSearch 引數
    -javaSearch 選項與 -genJava 選項一起使用。如果 -genJava IfNotExists,請使用 -javaSearch 選項來決定如何偵測檔案是否存在。
    • File(預設值):在輸出目錄中尋找檔案
    • Classpath:在 CLASSPATH 變數中尋找類別
    • Both:在輸出目錄中或在 CLASSPATH 變數中的類別中尋找檔案
  • -genXML 引數
    產生 .xml.xmi 檔。有效的引數為:
    • IfNotExists(預設值)
    • Overwrite
  • -genImplSer true 或 false

    指出每一個產生的 Java Bean 都實作 java.io.Serializable。 預設值為 false

  • -genEquals true 或 false

    指出每一個產生的 Java Bean 都有 equalshashCode 方法。 預設值為 false。

  • -noWrappedOperations

    停用偵測包裝的作業。產生要求和回應訊息的 Java Bean。

  • -noWrappedArrays

    停用偵測包裝的陣列。

  • -fileNStoPkg 檔名

    指定名稱空間到套件的對映檔。預設值為 NStoPKG.properties。

  • service wsdl 服務名稱

    僅為已安裝的 WSDL 服務產生檔案。

  • -testCase

    產生 JUnit 測試案例的範本來測試 Web 服務。JUnit 是撰寫重複性測試的簡易架構。


指出主題類型的圖示 參照主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsdl2java
檔名:rwbs_wsdl2java.html