Web服务提供了一个激动人心的方法让你在应用程序中添加额外的功能.在本文中,我将向你展示如何使用
Delphi 6创建和使用你自己的
Web服务程序.为了演示这个过程,我们将创建一个NumToStr服务来将英文单词翻译成荷兰语。
似成相识,对么?
如果你想知道关于
Web服务程序的更多信息和关于如何使用它们的解释,请看本系列中的第一篇文章,"
在Delphi 6中使用Web services."这篇文章阐述了如何在
Delphi 6中使用
Web服务,并着重讨论了Number to Words和BableFish服务.
Delphi 6
使用
Delphi 6来操作一个
Web服务是容易的.而且幸运的是,创建一个
Web服务也不难.启动
Delphi 6,选择"文件|新建|其它",然后打开"对象仓库"的WebServices属性页.如图A所示,你会看见三个图标:Soap Server Application, Soap Server Data Module, 和
Web Services Importer.我们将使用soap Server Application图标来创建一个新的
Web服务.
图A
Soap Server Application
当你选择了Soap Server Application图标之后,
Delphi会问你想要创建什么样的应用程序.以这种方式创建的
Web服务是一种
Web服务器应用程序,它会生成
Web Service Description Language(
Web服务描述语言,即WSDL)而且使用SOAP语言(和外界联系).但是它仍然是一种
Web服务器应用程序.
Web服务器应用程序可以是ISAPI/NSAPI,纯粹的 CGI, WinCGI, Apache (
Delphi 6中的新特性), 或是一个 Web App Debugger 可执行程序.最后一个选项(Web App Debugger 可执行程序)也是
Delphi 6中新出现的东西,它提供了一种方便的途径来调试你的
Web服务器应用程序(包括
Web服务程序),但它不生成你能够实际使用的东西.(但是,你可以轻易的创建另一个工程然后将你调试好的Web模块移到里面去).
独立的CGI可执行程序
因为大多数ISP还不会让你把ISAPI 或者NSAPI DLL上传到他们的
Web服务器上去(除非你有自己的服务器),我们将选择一个纯粹的CGI可执行程序,如图B.这将意味着这个
Web服务程序会慢一点儿(与一个ISAPI/NSAPI 或者 Apache DLL的
Web服务程序相比)因为每一次请求到来时它都必须被加载一次,但是至少它能够更容易的被接受.
图B