您可以利用 EJB2WebService 工具,在指令行透過
IBM® WebSphere® 執行時期環境,從 EJB Bean 產生 Web 服務。EJB2WebService13 指令支援 EJB 2.0 版和 J2EE 1.3,而 EJB2WebService 指令則支援 EJB 2.1 和 J2EE 1.4。
語法
設定好指令行之後,您可以利用下列語法和引數來執行工具:
- Windows®:
EJB2WebService [<選用性引數>] -project <ProjectName>
-ri <RemoteInterface> <EJB.ear>
- Linux: EJB2WebService.sh [<選用性引數>]
-project <ProjectName> -ri <RemoteInterface> <EJB.ear>
附註: <EJB.ear> 必須是最終 (final) 引數。
引數
強制引數:
- -project
- 指定專案名稱。這用來在現行工作目錄中,建立一個儲存所有產生的檔案的目錄。如果專案名稱已經存在,就會建立現有 EAR 檔的備份版本。比方說,如果您有一個名稱為 MyWebService 的專案,就會將 MyWebService.ear 檔更名為 MyWebService.ear.backup。
- -ri
- 指定 Enterprise Bean 遠端介面的名稱。這必須是完整套件名稱,比方說,com.ibm.wsdk.testing.TestBeanRemote。
- <EJB.ear>
- 指定現有 EAR 檔的完整路徑名稱。這個檔案含有至少一個 EJB 模組 JAR 檔。請利用 -g 選項來編譯 EJB 類別,使產生的 WSDL 檔中的組件名稱屬性含有各方法的正確參數名稱。
選用引數:
- -methods <method list>
- 指定 Web 服務要顯現 Enterprise Bean 中的哪些公開非靜態方法。預設值是併入所有這些方法。<method list> 中的方法必須用空格來分開。
- -clientType <J2SE | Application | Servlet | EJB>
- 產生指定的用戶端類型的 Skeleton 實作類別。您只能結合 -genMain 引數來使用這個引數。如果您已指定了 -server-side-only 引數,就不能使用這個引數。
- -genMain <name of main class>
- 指定要產生之 main 類別的名稱。您只能結合 -clientType 引數來使用這個引數。如果您已指定了 -server-side-only 引數,就不能使用這個引數。
- -host <hostName:portNumber>
- 指定主機名稱和埠號。預設值是 localhost:6080。
- -contextRoot <ContextRoot>
- 指定 Web 服務的環境定義起始目錄。這個的預設值是 <ProjectName>。
- -servicePortName <PortName>
- 指定 Web 服務的埠名稱。預設值是 EJB Bean 的名稱。
請利用 -host、-contextRoot 和 -servicePortName 等引數來指定服務端點的 URL。格式如下:http://hostName:portNumber/<ContextRoot>/services/<PortName>。
- -sei <interface.java>
- 指定預先撰寫的服務端點介面(Java™ 程式碼檔案)的完整路徑名稱。如果沒有指定路徑名稱,就會在執行時期動態產生一個名稱。
- -server-side-only
- 只產生伺服器端 Helper 類別。預設值是產生伺服器端和用戶端 Helper 類別。
- -clientEJBName <EJB client filename>
- 利用用戶端 EJB 檔中的資訊,來配置含用戶端應用程式名稱的用戶端 webservicesclient.xml 描述子。
如果您沒有提供這個引數,您必須先手動編輯 webservicesclient.xml,才能將它加入用戶端 EJB 檔中。
- -style <style type>
- 依照 <style type> 所指定來產生 rpc、doc 或 wrapped 樣式的 WSDL。
預設樣式是 Wrapped。
- -use <bindings>
- 依照 <bindings> 所指定,利用 literal 或 encoded 連結來產生 WSDL。預設值是 literal。
- -splitWsdl
- 產生不部署的個別介面和實作 WSDL 文件。預設值是建立將介面和實作資訊組合起來的單一文件。
重要事項:
如果您選擇使用這個引數,將產生 EAR 檔,但一旦它匯入到工作區並部署到 Unit Test Environment 或遠端伺服器後,在伺服器啟動時將出現異常狀況。
這個異常狀況是路由器 Web 專案中遺漏 WSDL 所導致的。請執行下列任一項來排除這個錯誤:
- 利用管理主控台來部署到獨立式 WebSphere Application Server。
- 使用整體 WSDL - 也就是說,不要使用 -splitWsdl 引數。
- 將 EJB 專案中 META-INF/wsdl 目錄下的所有 WSDL 檔案手動複製到路由器 Web 專案的 WEB-INF/wsdl。
- - wsSecDir <directory>
- 指定範本所在之目錄的完整路徑,來利用 WS 安全資訊配置產生的部署描述子。
目錄必須包含 ibm-webservices-bnd.xmi 和 ibm-webservices-ext.xmi 檔,
如果產生用戶端連結的話,也必須包含 ibm-webservicesclient-bnd.xmi 和 ibm-webservicesclient-ext.xmi。
- -PkgtoNS <package> <namespace>
- 指出 Java 套件至名稱空間的對映。
如果發現沒有名稱空間的套件,就會產生適用的名稱空間名稱。您可以重複這個引數來指定多個套件的對映。
- -voidReturn [ONEWAY | TWOWAY]
- 指出 void return 方法要成為要求/回應作業(預設值)或單向作業。
- -verbose
- 在執行工具時,顯示額外資訊。
- -help
- 顯示說明資訊。
附註:不支援 -deploy 選項。