用Delphi 6开发Web services 1

原创 2001年08月19日 13:41:00
直到不久以前,Delphi才拥有了开发Web服务程序(Web services)的能力.在以前的版本中,你可以选择诸如CORBA,DCOM,TCP/IP套接字等协议来开发多层的应用程序.虽然使用这些协议有一定的优点,但是它们也存在着不同的限制--而且它们都需要你在客户端表示出服务器端的对象.然而,Delphi 6允许你利用简单对象访问协议(SOAP)来使用(或者开发)Web服务程序
advertisement.gif
zd-msg.gif zd-msg.gif news;sz=1x1;ord=1517351553?


在我的两篇系列文章的下面的第一篇中,我将解释什么是Web服务并将向你展示如何在Delphi 6中使用已经存在的Web服务程序(不管它是用什么语言,在什么环境下编写的).

SOAP
SOAP提供了一条新的途径来将分散的层次连接在一起.它使用XML作为描述语言并且在许多情况下是高效的,但是目前最通用的用法之一是将它使用在Web服务的场合.你可以将一个Web服务看成是一个在Web 服务器上运行的远程对象,而这个远程对象的方法(服务)可以通过SOAP对外界开放.对Web服务及其方法的描述可以通过Web服务描述语言(WSDL)来实现,WSDL是XML的一个子集.实际上,以后我们将能够看见Delphi 6中编写的Web 服务能够自动为它们的对象界面生成正确的WSDL.

使用Web服务
浏览XMethods或者SalCentral Web services这样的中间网站你可以得到一些可用的Web服务的列表.(它们是在多种环境中编写的,比如说Delphi 6,Visual Studio.NET,Lucin SAL,等等)在本文中,我们将使用两个Web服务:Number to Words--数字转换成单词(由Tom Chamberlain在Delphi中编写而成)和BabelFish服务(来自AltaVista,XMethods用SOAPLite实现).我们的目的是要将一个数字(比方说,42)转化成单词,然后将它们从英文翻译成德文.你可以在这里下载和本文配套的例子文件.

数字到单词
Number to Words Web服务程序是用Delphi 6写成的.你可以从PowerOfZen获得WSDL描述文本.(这个网页能够生成WSDL,也就是一段列出你的需求的XML,以便生成一个引入的方法使你能够在Delphi 6中使用它).

为Web服务新建一个Delphi 6工程并将它保存为Client.dpr.现在,你必须生成一个导入部件来让IWordsForCheck界面能够运转起来.选择"文件|新建|其他"菜单,单击WebServices标签,然后选择Web服务导入图标,一个如图A所示的对话框将显示出来.在这里你粘贴上前面获得的WSDL URL.

图A
b1.gif

单击"生成"按钮来生成IWordsForCheck界面的导入单元:
type
IWordsForCheck = interface(IInvokable)
['{C3530212-5440-4CC4-82ED-5AA3F0984AAF}']
function GetWordsForCheck(const Value: Double): WideString; stdcall;
end;


注意IWordsForCheck界面是从IInvokable界面继承而来的(需要这样做是因为你需要能够使用这个远程的Web服务).

用Delphi 6开发Web services 2

调用GetWordsForCheck过程现在,让我们回到Delphi工程的主单元然后在"使用"列表中加入导入单元(要么通过选择"文件|使用单元"菜单,要么通过显式的将它添加到"使用"列表中去).在应用...
  • willsound
  • willsound
  • 2001年08月19日 13:43
  • 622

用Delphi编写Web Service(实例)(续,用Delphi编写客户端)

继昨天晚上一文:http://blog.csdn.net/yxf/archive/2006/09/28/1303281.aspx ,现在写写用Delphi来编写客户端的方法。同样还是调用昨晚的libs...
  • yxf
  • yxf
  • 2006年09月29日 09:51
  • 2575

用Delphi开发Web Services数据库程序

第一步:编写服务器的应用程序     首先在Delphi的IDE中选择”File|New|Other…”,然后在WebServices页面中选择Soap Server Application图标,如下...
  • adriftken
  • adriftken
  • 2002年03月04日 08:59
  • 656

MyEclipse rest webservice 使用

一、新建Web Service项目 (如果现有项目新增Rest支持,可以选择MyEclipse菜单下的Add REST Web Service Capabilities...) 全新建立项目: ...
  • xundh
  • xundh
  • 2015年01月10日 17:28
  • 4922

Delphi开发的WebService如何和Tomcat集成

随着B/S程序得到越来越广的应用,Delphi由开发C/S程序的主战场逐步转移到以开发WebService后台服务程序为主。由于我们前台通常用JSP作为脚本语言,因此Tomcat作为简单的Web服务器...
  • fjclc2008
  • fjclc2008
  • 2012年06月24日 22:33
  • 2457

用Delphi编写web打印插件

做web最不好弄的就是打印了,用IE自带的打印功能不太完美,功能也不强,所以我就将fastreport 4.3报表集成到web中,实现的方法:delphi7的activex+fastreport,下面...
  • chenhuizhouhb
  • chenhuizhouhb
  • 2013年01月04日 09:59
  • 1478

Delphi 6 Web Services初步评估

Delphi 6 Web Services初步评估这是我刚到现在公司的时候(2001年8月份)所作的一份测试报告,现公布出来,希望能对大家有所帮助。因为当时d6刚刚发行,Web Service方面还存...
  • VSaber
  • VSaber
  • 2002年02月08日 16:30
  • 1020

用Axis开发Web Services

?Axis简介  Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织著名的SOAP项目的后继项目,目前最新版本是采用Java开发的1.1版本。Axis v1.1软件包可以从h...
  • ray77
  • ray77
  • 2004年08月07日 08:07
  • 1613

用Eclipse3.2+MyEclipse5.5M1+axis2_1.1.1+tomcat5.5 开发Web Services

在网上看到的由--呼必斯哈拉图--写的"Apache AXIS 开发 Web Services Step By Step",跟着做了一遍。非常感谢呼必斯哈拉图,写得非常的详细,图文并茂。但是,我的环境...
  • teamlet
  • teamlet
  • 2007年03月05日 14:22
  • 11157

Genero WebService

ERP都是以财务会计为导向的系统,就连SAP ECC也不可能完胜企业的每个业务模块,这就需要其他软件作为外围系统给以支持,最终将数据在ERP系统汇总。此外,企业也少不了与客户 供应商 代工厂 物流 多...
  • ERP_TOP_DD
  • ERP_TOP_DD
  • 2015年11月25日 14:59
  • 609
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Delphi 6开发Web services 1
举报原因:
原因补充:

(最多只允许输入30个字)