[英]SOAP server and client application VCL+indy demo for Delphi XE?
Delphi過去常常包含一個用於Web服務的demos文件夾,但似乎不再包含這個。
我剛剛嘗試了Delphi 7演示項目( SOAPDMServerWAD
,一個幾乎沒有UI的服務器,以及SOAPDMClient
),即使在Delphi 7中也無法使它們運行。
如果有人在Delphi XE或Delphi 2010中做過類似的演示工作,與舊的SOAPDMServerWAD+SoapDMClient
演示相同,在Delphi XE中工作,並且至少具有來自Delphi SOAP Server應用程序向導的最小UI,那就是完美。
更新:演示一直到Delphi 2010,但使用現已廢棄的WAD(web-app-debugger),我嘗試將其移植到新的Indy runtime/web-app-development-harnessing-code
,但是我似乎無法讓它發揮作用。 演示運行,但服務器沒有用戶界面,並且似乎沒有運行任何HTTP服務器(使用常規Web瀏覽器測試,通過http://localhost:port/
urls。順便說一下,嘗試谷歌搜索演示,這個網址出現了,不到一個小時前我就問了。這太嚇人了,谷歌。
Update2請參閱下面的我自己的答案,工作代碼即將推出一個鏈接。
我已經在CodeCentral上發布了完整的SOAP演示集, 作為項目28789 。
這些包含來自WebServices
文件夾的Delphi 2007時代SOAP演示中的每一個,現在已針對Delphi XE和XE2進行了更新,包括將舊的WAD服務器轉換為新的INDY VCL服務器。 你認為這是令人印象深刻的,除非它不是。 這真的很容易。 只需使用向導創建一個新項目,然后將Web服務接口和實現單元以及屬於舊演示的任何其他單元添加到項目中。 一旦他們被添加到項目中,他們就會工作。 基本演示SOAP服務器在Delphi中很容易構建,一旦你有一個工作演示,你會發現很容易修改和擴展它。
最能回答我上面提到的問題的演示是在SOAPDataModule
子文件夾中。
2007年時代演示的基本問題有兩個:
WAD(Web應用程序調試器)消失了。 為了獲得最佳演示目的,您必須使用Indy服務器創建一個新服務器,以免在IIS下使用WAD(已經消失)或設置ISAPI環境,這對於演示目的來說並不理想。 我制作的新演示項目名為SoapDMServerINDY ,它由數據模塊(datamod_u.pas),VCL表單用戶界面單元( IndyServerVCLFormUnit.pas
)和Indy Server Web模塊(稱為IndyServerWebModule.pas
。
Delphi 2007演示破解了由於具有現在演示可執行文件的Debug / Win32子文件夾的新實踐,您需要更進一步。 我修復了演示服務器,以便在無法找到數據文件時向您發出錯誤消息警告,從而避免了神秘的“XML解析錯誤”。 我還在一些演示中添加了一些錯誤檢查,以便它告訴您需要安裝interbase以使此演示工作,因為一些演示需要安裝並運行Interbase,並且需要存在名為IBLOCAL的別名,並且最好存在一個名為EMPLOYEE
的表。
這個演示的元素是一個服務器( SoapDMServerINDY ,基於來自SOAPDMServerWAD的代碼),以及客戶端SOAPDMClient連接到演示並有兩個頁面,一個頁面將通過DBGrid +數據集遠程顯示基本數據訪問,第二個頁面將顯示該頁面顯示了如何調用自定義SOAP方法。
要使用演示:您必須啟動服務器,單擊開始按鈕,然后啟動客戶端並單擊連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.