李维的 Demo 中可以改进的地方

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

李维这次的内地之行(见《感受李维》一文)可以说在 Borland 的用户掀起了一场风暴,在几个比较大的程序员论坛上,这是这几最热门的话题之一,我在 CSDN 上发了一贴关于他上海之行的文字,结果成为我发过的有史以来反响最强的一个贴子。

在这次 Borland 举办的 WebService 技术研讨会上,李维做了几个 Demo 来演示 Borland 的 WebService 解决方案,这是几个非常好的 Demo ,它们以一种很简单的方式,较为全面地展示了用 Borland 的几个主要产品进行 SOAP/WebService 开发的实现,但是我认为其中还是有地方可以改进。

李维也是用打了 Update 2# 的 Delphi 6,这个版本的 Delphi 6 在 SOAP/WebService 应用开发方面有比较大的改进(见《DELPHI 6.02 抢先研究 -- BizSnap/SOAP/WebService 之四》一文),其中最大的改进之一便是 WSDL Import Wizard 。新的 WSDL Import Wizard 主要改进在:

增加了一个导入结果查看界面,可以以树形显示导入的 WSDL 中所含的接口内容,并且可以预览生成的接口单元;

生成的接口单元包含了 HTTP 远程接口对象生成;

支持新的 SOAP 标准,可以导入 Visual Studio.net 生成的 WSDL。

而上述几点中的第二点就是李维可以改进的一点。在《DELPHI 6 抢先研究 -- BizSnap/SOAP/WebService 之一》一文的例子中所采用的方法就是李维的 Demo 中所用的方法,即放上一个 HTTPRIO 控件,设置好 URL 属性,再用如下的代码来访问远程接口:

Var

p : ISoapHello;

begin

p := HTTPRIO1 As ISoapHello;

Label1.Caption := p.GetHello( StrToInt( Edit1.Text ) );

end;

但是因为前面所说的 WSDL Import Wizard 的第二点改进,所以已经可以不用这么麻烦了,不需要再放 HTTPRIO 控件,而且代码也简单得只要一句:

Label1.Caption := GetISoapHello.GetHello( StrToInt( Edit1.Text ) );

其中的 GetISoapHello 是一个函数,返回一个实现 ISoapHello 远程接口的对象,在导入 WSDL 时生成的接口单元文件里定义并实现的,它的功能就是新建一个 HTTPRIO 对象,并根据 WSDL 设置好所有的属性。

[Mental Studio]猛禽 Apr.13-02

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航