SOAP 訊息(SOAP messages)是否已經被傳送出去,或者 SOAP 訊息是否已經被接受,或者被傳送的 SOAP 訊息的內容以及格式為何,這個時候我們就可以利用 Axis TCP Monitor 來監測 SOAP 訊息。使用 TCP Monitor 的方式很簡單,你只要在 Axis 伺服器端,執行 java org.apache.axis.utils.tcpmon 即可,執行後,你就可以看到如下的畫面:
在進一步說明 TCPMonitor 的使用方式之前,我們先說明 TCPMonitor 的概念:在沒有 TCPMonitor 之前,client 會直接呼叫 service;如果 service 的名稱為 http://mytest.com:8080/testService,那麼 client 程式必須將該服務名稱設定在程式內。如果想利用 TCPMonitor 來監看送出以及回傳的 SOAP 訊息, client 必須先呼叫 TCPMonitor,然後由 TCPMonitor 呼叫 service;而 service 的回傳資料也會先傳給 TCPMonitor,然後再由 TCPMonitor 回傳給 client。
為了能輕易的完成上列的工作,在畫面中,我們要特別注意兩個比較重要的設定: Listen Port# 以及 Act as a Listener 的 Target Hostname 和 Target Port#。以之前的範例來說,我們必須在 Listen Port# 的欄位任意輸入一個大於 1024 的整數,例如 1234,而且在 Target Hostname 要設定為 mytest.com,Target Port# 要設定為 8080;如此一來,client 程式必須將服務名稱改成 http://127.0.0.1:1234/testService,然後當 TCPMonitor 接收到 client 傳來的 SOAP 訊息時(因为TCPMonitor 监听了1234),它會將該 SOAP 訊息轉傳給 http://mytest.com:8080/testService。
[img]http://dl.iteye.com/upload/attachment/197336/800acf2f-4070-38b3-b15d-18551f63ca26.jpg[/img]
最後,請在瀏覽器內輸入 URL:http://localhost:1234/axis/services/TimeService?method=getTime 來觀察 TCP Monitor,你應該可以看到類似以下的畫面:
[img]http://dl.iteye.com/upload/attachment/197409/52e0c268-c694-3d9f-8d39-b36234bed6b6.jpg[/img]
在進一步說明 TCPMonitor 的使用方式之前,我們先說明 TCPMonitor 的概念:在沒有 TCPMonitor 之前,client 會直接呼叫 service;如果 service 的名稱為 http://mytest.com:8080/testService,那麼 client 程式必須將該服務名稱設定在程式內。如果想利用 TCPMonitor 來監看送出以及回傳的 SOAP 訊息, client 必須先呼叫 TCPMonitor,然後由 TCPMonitor 呼叫 service;而 service 的回傳資料也會先傳給 TCPMonitor,然後再由 TCPMonitor 回傳給 client。
為了能輕易的完成上列的工作,在畫面中,我們要特別注意兩個比較重要的設定: Listen Port# 以及 Act as a Listener 的 Target Hostname 和 Target Port#。以之前的範例來說,我們必須在 Listen Port# 的欄位任意輸入一個大於 1024 的整數,例如 1234,而且在 Target Hostname 要設定為 mytest.com,Target Port# 要設定為 8080;如此一來,client 程式必須將服務名稱改成 http://127.0.0.1:1234/testService,然後當 TCPMonitor 接收到 client 傳來的 SOAP 訊息時(因为TCPMonitor 监听了1234),它會將該 SOAP 訊息轉傳給 http://mytest.com:8080/testService。
[img]http://dl.iteye.com/upload/attachment/197336/800acf2f-4070-38b3-b15d-18551f63ca26.jpg[/img]
最後,請在瀏覽器內輸入 URL:http://localhost:1234/axis/services/TimeService?method=getTime 來觀察 TCP Monitor,你應該可以看到類似以下的畫面:
[img]http://dl.iteye.com/upload/attachment/197409/52e0c268-c694-3d9f-8d39-b36234bed6b6.jpg[/img]