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 服务器(使用常规网络浏览器通过 http://localhost:port/
url 进行测试。顺便说一句,尝试谷歌搜索演示,这个 url 来了起来,不到一个小时前我问了。这太可怕了,谷歌。
Update2 请参阅下面我自己的答案,很快就会有一个带有工作代码的链接。
我在 CodeCentral as item 28789 上发布了完整的 SOAP 演示集。
这些包含 WebServices
文件夹中的每一个 Delphi 2007 时代 SOAP 演示,现在针对 Delphi XE 和 XE2 进行了更新,包括将旧 WAD 服务器转换为新的 INDY VCL 服务器。你会认为这令人印象深刻,但事实并非如此。这真的很容易。只需使用向导创建一个新项目,然后将 Web 服务接口和实现单元以及属于旧演示的任何其他单元添加到项目中。一旦它们被添加到项目中,它们就可以工作了。 基本的演示 SOAP 服务器在 Delphi 中非常容易构建,一旦你有一个可用的演示,你会发现它很容易修改和扩展。
最能回答我上面提出的问题的演示位于 SOAPDataModule
子文件夹中。
2007 年演示的基本问题有两个:
WAD(网络应用调试器)不见了。您必须使用 Indy 服务器创建一个新服务器,以实现最佳演示目的,使您免于使用 WAD(已消失)或在 IIS 下设置 ISAPI 环境,这对于演示目的而言并不理想。我制作的新演示项目名为 SoapDMServerINDY,它由一个数据模块 (datamod_u.pas)、一个 VCL 表单用户界面单元 (IndyServerVCLFormUnit.pas) 和一个名为 IndyServerWebModule.pas 的 Indy Server Web 模块组成。 Delphi 2007 演示失败了,这要归功于演示可执行文件现在所在的 Debug/Win32 子文件夹的新做法,您需要更进一步。我修复了演示服务器,以便在无法找到数据文件时向您发出错误消息警告,从而使您免于神秘的“XML 解析错误”。我还在一些演示中添加了一些错误检查,以便它告诉您需要安装 interbase 才能使此演示正常工作,因为某些演示需要安装和运行 Interbase,并且需要存在名为 IBLOCAL 的别名,并且最好存在一个名为 EMPLOYEE 的表。
https://i.stack.imgur.com/m1Kzh.png
这个演示的元素是一个服务器(SoapDMServerINDY,基于来自 SOAPDMServerWAD 的代码)和客户端 SOAPDMClient,它连接到演示并有两个页面,一个页面将显示通过 DBGrid + 数据集远程处理的基本数据访问,第二个页面页显示如何调用自定义 SOAP 方法。
要使用演示:您必须启动服务器,单击启动按钮,然后启动客户端并单击连接。
https://i.stack.imgur.com/Vpoti.png
不定期副业成功案例分享