練習 1.3:建立 Web 服務
開始之前,您必須先完成練習 1.2:建立 JMS 的伺服器及伺服器配置。
WSDL 文件說明 Web 服務的部署位置以及這個服務可提供的作業。若要建立 WSDL 文件、部署描述子檔案、Proxy 和範例,請遵循下列步驟:
- 按一下檔案 > 新建 > 其他。
接著選取 Web 服務以便顯示各種 Web 服務精靈。然後選取 Web 服務精靈。
按下一步,啟動「Web 服務」精靈。
- 在 Web 服務類型欄位中,確定畫面上已顯示 EJB Web 服務,而且已選取下列的勾選框:
- 在 Web 專案中啟動 Web 服務
- 產生 Proxy
- 必要時建立資料夾
不要選取「測試 Web 服務」;用來測試 Web 服務的 Web 服務瀏覽器不支援 JMS 上的 SOAP。
- 在「物件」選擇頁面中,JMSEAR 應該已經預先填入,而且 TestEJB Bean 應該會列示於 EJB Bean 表中。選取 TestEJB,再按下一步。
- 「Web 服務部署配置」頁面允許您選取支援的執行時期通訊協定和部署伺服器。您將使用預設的執行時期環境、IBM WebSphere 第 6 版,以及您在先前作業中建立的伺服器 - WebSphere 第 6 版伺服器。
確定選取的 EJB 和用戶端專案(用戶端類型為 Web)符合下圖中的項目。因為精靈會為您建立用戶端專案,您可以手動輸入用戶端專案的名稱。按下一步。

- 在 Web 服務 EJB 配置頁面,應該已經選取您匯入成為 JMSEAR 一部分的「路由器」專案。在選取傳輸之下,請選取 JMS 上的 SOAP。在這個區段中大部分的必要資訊應該都已預先填入。您必須手動輸入下列的值:
- 確定已選取 queue 為 JMS 目的地。這個範例不適用於主題。
- 請輸入 jms/ws_tutorial_queue 作為「目的地 JNDI 名稱」
- 請輸入 jms/ws_tutorial_qcf 作為 JMS Connection Factory
- 接受分派要求的埠元件名稱,請輸入 TestEJB。埠元件的名稱是目標服務名稱,因此,將以 TestEJB 做為目標服務名稱。
- 「ActivationSpec JNDI 名稱」輸入 eis/ws_tutorial_JMSRouter
完成的頁面看起來如下:

- 在精靈的「Web 服務 Java Bean 身分」頁面中,可以指定您的 Web 服務 URI、範圍和產生檔案的名稱。您也可以選取要併入 Web 服務的方法、編碼樣式,以及配置 Web 服務的安全性。按下一步,接受預設值。
重要事項:Web 服務的「統一資源識別碼」(URI) 是精靈從您選取要轉換成 Web 服務的成品中自動產生的。
預設的基本 URI http://tempuri.org/ 係用來建構和實體沒有任何唯一關聯的 URI。主機名稱 tempuri 來自 WSDL 規格,代表暫時的 URI。當您不要使 URI 成為廣域範圍內的唯一 URI 時,請使用預設基本 URI。不建議您使用 http://tempuri.org/ 作為穩固實體的基礎。
- 因為 JMS 不符 WS-I 標準,除非您已將 WS-I 標準設定值設為忽略,否則會出現錯誤訊息警告您不符合標準。如果您按一下詳細資料,會顯示警告訊息的原因。您可以放心地忽略這個警告;請按一下忽略。
- 在「Web 服務 Proxy」頁面中,確定已選取產生 Proxy。用戶端 Proxy 提供遠端程序呼叫介面給您的 Web 服務。請不要對產生的 Proxy 啟用安全。按下一步。
- 使用「Web 服務用戶端」測試頁面來選取下列選項:
- 選取產生範例 Web 服務範例 JSP 作為您的測試機能。
- 選取要放置 JSP 的資料夾,並確定所有的方法均已併入 JSP。
- 選取在伺服器中執行測試來自動啟動伺服器。
按一下完成。
- Proxy JSP 在 Web 瀏覽器中以下列 URL 啟動:
http://localhost:9080/JMSClient/sample/TestEJB/TestClient.jsp。您可以選取一個方法、輸入方法的值,然後按一下呼叫,來利用這個範例應用程式測試 Web 服務。方法的結果(您在文字欄位輸入的字串回應)將會顯示在結果窗格。
請檢視摘要中的資料來完成您的指導教學。