練習 1.5:驗證 Web 服務資料傳輸是否符合 WS-I 標準
開始之前,您必須先完成練習 1.4:實作溫度轉換方法。
驗證 Web 服務資料傳輸是否符合 WS-I 標準
如果要確保 SOAP 封套要求及回應配對符合 WS-I 標準,您必須透過 TCP/IP 監視器導向 Web 服務資料傳輸:
當您利用 Web 服務或 Web 服務用戶端精靈來建立 Web 服務時,您可以選取自動設定及執行 TCP/IP 監視器。因為在建立 Web 服務時已經選擇這個選項,「TCP/IP 監視器」視圖應該會出現在工作區中。如果沒有,您可以選取視窗 > 顯示視圖 > 其他 > 除錯 > TCP/IP 監視器來開啟這個視圖。
另外,您也可以完成下列步驟,來手動設定 TCP/IP 監視器:
- 在範例應用程式中,呼叫 getEndPoint 方法。請記錄這個端點。Web 服務的預設端點是:
- WebSphere 或
Apache Axis 執行時期環境:http://localhost:<port>/<Web 模組環境定義根目錄>/services/<port>
- IBM SOAP 執行時期環境:http://localhost:<port>/<Web 模組環境定義根目錄>/servlet/rpcrouter。
- 建立要做為 TCP/IP 監視器的伺服器:
- 從視窗功能表中,選取喜好設定。
- 在「喜好設定」視窗中,展開網際網路,再選取 TCP/IP 監視器。
- 選取有活動時顯示 TCP/IP 監視器視圖勾選框。
- 在「TCP/IP 監視器」清單下,按一下新增。
這時會開啟「新建監視器」對話框。
- 指定下列設定:
選項 |
說明 |
本端監視埠 |
請指定本端機器中的一個唯一埠號。 |
主機名稱 |
請指定伺服器執行其中之機器的主機名稱或 IP 位址。 |
埠 |
請指定遠端伺服器的埠號。 |
類型 |
請指定 Web 瀏覽器送出的要求類型由 HTTP 或 TCP/IP 來傳送。
如果選取 HTTP 選項,Web 瀏覽器送出的要求會進行修改,使 HTTP 標頭指向遠端機器,且會在相同連線中收到多個 HTTP 要求的情況下,加以分開。
如果選取 TCP/IP 選項,則所有的要求都會位元組對位元組傳送。 |
- 如果要利用監視器來遞送 Web 服務,您必須變更 Web 服務用戶端的端點。TCP/IP 監視器是利用 9081 埠來接聽的。請在第 1 步驟所用的 Web 瀏覽器視窗中呼叫 setEndPoint 方法,再變更端點,使它導向 9081 埠。比方說,預設值會是:http://localhost:9081/web_module_context_root/servlet/rpcrouter。
請再呼叫一次 getEndPoint 方法來確定已實作您的變更。
如果要透過 TCP/IP 監視器遞送資料傳輸及測試資料傳輸的 WS-I 標準性:
- 在「方法」窗格中選取 Web 服務方法。呼叫這個方法。
- 按一下「伺服器」視圖中的「TCP/IP 監視器」標籤來切換至「TCP/IP 監視器」視圖。這會顯示利用 TCP/IP 監視器來遞送的要求和回應配對。它看起來會如下圖顯示:

- 如果要確定您的 Web 服務 SOAP 傳輸是 WS-I 標準,
您可以按一下
圖示來產生日誌檔。請在開啟的對話框中選取日誌檔的名稱,指定您要將它儲存在哪裡。這個日誌檔將接受 WS-I 標準驗證。您可以在 XML 編輯器中開啟日誌檔來檢查它的內容。
請檢視摘要中的資料來完成您的指導教學。