SOAP服务器和客户端应用程序VCL + indy demo for Delphi XE?

Delphi曾经为Web服务包含一个demos文件夹,但似乎不再包含这个。

我只是尝试了Delphi 7演示项目( SOAPDMServerWAD ,几乎完全没有UI的服务器和SOAPDMClient ),并且无法让它们运行,即使在Delphi 7中也是如此。

如果有人曾经在Delphi XE或Delphi 2010中做过类似于旧版本的SOAPDMServerWAD+SoapDMClient演示的工作,在Delphi XE中工作,并且至less有来自Delphi SOAP Server应用程序向导的最小UI,完美。

更新:演示出现在Delphi 2010中,但使用了现在已经过时的WAD(networking应用debugging器),我尝试将它移植到新的Indy runtime/web-app-development-harnessing-code ,但是我似乎无法得到它的工作。 演示运行,但服务器没有用户界面,似乎并没有运行任何HTTP服务器(使用普通的Web浏览器,通过http://localhost:port/ urls进行testing。顺便说一句,尝试谷歌search演示,这个url出现了,我不到一个小时前问,这太可怕了,谷歌。

Update2请参阅下面我自己的答案,一个链接即将推出的工作代码。

我已经在CodeCentral上发布了SOAP的完整演示作为项目28789 。

这些包含WebServices文件夹中的每一个Delphi 2007时代SOAP演示,现在都针对Delphi XE和XE2进行了更新,包括将旧的WAD服务器转换为新的INDY VCL服务器。 你会认为这是令人印象深刻的,但事实并非如此。 这很容易。 只需使用向导创build一个新项目,然后将Web服务接口和实现单元以及属于旧演示的其他任何单元添加到项目中。 一旦他们被添加到项目,他们只是工作。 基本的演示SOAP服务器在Delphi中很容易构build,一旦你有一个工作演示,你会发现很容易修改和扩展它。

最好的回答我问上面的问题的演示是在SOAPDataModule子文件夹。

演示从2007年的基本问题是两个:

  1. WAD(networking应用程序debugging器)消失了。 您必须使用Indy服务器制作一个新的服务器,以达到最佳的演示目的,避免使用WAD(已不存在)或在IIS下设置ISAPI环境,这对于演示目的来说并不理想。 我制作的新演示项目名为SoapDMServerINDY ,它由一个数据模块(datamod_u.pas),一个VCL格式的用户界面单元( IndyServerVCLFormUnit.pas )和一个称为IndyServerWebModule.pas的Indy Server Web模块IndyServerWebModule.pas

  2. delphi2007年演示由于新的做法有一个Debug / Win32子文件夹演示可执行文件现在在打破,你需要更进一步。 我修复了演示服务器,以便在数据文件无法定位的情况下通过错误消息向您发出警告,从而避免了神秘的“XMLparsing错误”。 我还在一些演示中添加了一些错误检查,以便它告诉您需要安装interbase以使此演示正常工作,因为某些演示需要安装和运行Interbase,并且需要一个名为IBLOCAL的别名才能存在,最好有一个名为EMPLOYEE的表存在。

在这里输入图像说明

这个演示的元素是一个服务器( SoapDMServerINDY ,基于来自SOAPDMServerWAD的代码)和客户端SOAPDMClient连接到演示并且有两个页面,一个页面将通过DBGrid +数据集远程显示基本数据访问,第二个页面显示了如何调用一个自定义的SOAP方法。

要使用演示:您必须启动服务器,单击开始button,然后启动客户端并单击连接。

在这里输入图像说明