2012-11-26 156 views
2

我一直在使用Delphi 2005中的一組ISAPI web服務DLL來與我們的服務器應用程序進行交互,但我在調試web服務中的問題時遇到了實際困難。從瀏覽器執行delphi web服務

此時,我有一個測試SOAP服務器應用程序作爲Web App Debugger可執行文件,它使用與真實DLL相同的單元。

我可以編譯並運行我的SOAP EXE,運行Web App Debugger工具,啓動ServerInfo服務器,並在註冊服務器列表中查看我的SOAP應用程序。

如果我從列表中選擇它並單擊Go,它將顯示正常的Service Info Page,我可以在其中查看接口和WSDL。

我現在想要做的是執行一個方法(一個簡單的方法,它返回ISAPI DLL的版本信息),然後通過查看Web App Debugger的Log選項卡查看請求和響應,但是,我還沒有找到執行該方法的方法。

我真的需要編寫一個特殊的客戶端應用程序來測試我的Web方法嗎?我在網上看到的大多數例子都只是說使用http://server/service/class/method?parameter=value來執行一個Web服務方法,但這似乎不適用於Delphi SOAP Web服務。

+0

您可以使用(免費)SoapUI實用程序來代替自己編寫客戶端。它也很好地顯示請求和響應主體。 – mjn

回答

1

您需要更改客戶端以連接到運行WebAppDebugger的機器。 (通常是本地主機)

運行WebAppDebugger並單擊開始按鈕。 「默認網址」點亮......在默認情況下是

http://localhost:8081/ServerInfo.ServerInfo 

然後運行在IDE中的WAD服務器項目,並在您想要的斷點某處服務器代碼。

如果同一臺機器上運行的客戶端,改變你的客戶端使用本地主機地址......如果你今天連接:

http://www.yourhost.com/yourapp.dll/yourclass/yourmethod 

變化的客戶端連接到像這樣的調試流量:

http://localhost:8081/wadClassName/yourclass/yourmethod 

Web應用程序調試器類的名稱是在創建WAD項目時定義的。