簡體   English   中英

用於Delphi XE的SOAP服務器和客戶端應用程序VCL + indy演示?

[英]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年時代演示的基本問題有兩個:

  1. WAD(Web應用程序調試器)消失了。 為了獲得最佳演示目的,您必須使用Indy服務器創建一個新服務器,以免在IIS下使用WAD(已經消失)或設置ISAPI環境,這對於演示目的來說並不理想。 我制作的新演示項目名為SoapDMServerINDY ,它由數據模塊(datamod_u.pas),VCL表單用戶界面單元( IndyServerVCLFormUnit.pas )和Indy Server Web模塊(稱為IndyServerWebModule.pas

  2. Delphi 2007演示破解了由於具有現在演示可執行文件的Debug / Win32子文件夾的新實踐,您需要更進一步。 我修復了演示服務器,以便在無法找到數據文件時向您發出錯誤消息警告,從而避免了神秘的“XML解析錯誤”。 我還在一些演示中添加了一些錯誤檢查,以便它告訴您需要安裝interbase以使此演示工作,因為一些演示需要安裝並運行Interbase,並且需要存在名為IBLOCAL的別名,並且最好存在一個名為EMPLOYEE的表。

在此輸入圖像描述

這個演示的元素是一個服務器( SoapDMServerINDY ,基於來自SOAPDMServerWAD的代碼),以及客戶端SOAPDMClient連接到演示並有兩個頁面,一個頁面將通過DBGrid +數據集遠程顯示基本數據訪問,第二個頁面將顯示該頁面顯示了如何調用自定義SOAP方法。

要使用演示:您必須啟動服務器,單擊開始按鈕,然后啟動客戶端並單擊連接。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM