RO12 - RemObjects SDK调用已存在的SOAP Web Service

来源:互联网 发布:2015东北十大网络神曲 编辑:程序博客网 时间:2024/06/05 12:48
 
RO12 - RemObjects SDK调用已存在的SOAP Web Service
本文向你展示如果创建一个使用BabelFish Web ServiceRO standalone程序,并测试一下不同语言的转换.
新应用程序
启动Delphi,创建新的应用程序"File|New Application",向窗体拖动如下控件: TEdit, TButton, TROWinInetHTTPChannel, TRoSoapMessage, 和几个TLabel控件.
如图:
导入服务
接下来我们导入BabelFish service中的服务,以便于在我们的代码中调用.IDE中打开RemObjects 菜单选择"Import SOAP Web Service ...".
弹出 Service Builder允许你导入存在的服务定义. SB允许从不同的源导入服务:
对于三方提供的Web Service,通常都知道其WSDL文件地址. 一个WSDL (short for Web Services Description Language) 文件是一个XML文档格式,描述了Web Service中的方法定义和如何调用这些方法. 导入WSDL文件后就可以在本地使用了,点击"Import a local .WSDL file". 你可以在文件浏览窗体中选择WSDL文件并点击"Import" 导入.
第二部,你可以在www.xmethods.com上发现很多已存在的WebService.如果你想从Internet上导入WSDL,点击"Import a SOAP Web Service from the Web by its URL" 输入你要导入的Web ServiceURL后点击"Import" 按钮. (这个范例是 http://www.xmethods.net/sd/2001/BabelFishService.wsdl, 这个URLAltaVista BabelFish 服务). 导入后点击"View WSDL" 按钮可以在IE浏览器中查看这个WSDL.
点击"Import", ServiceBuilder 打开并显示导入的服务定义.关闭ServiceBuilder返回Delphi. Delphi IDE 将提示已经输入导入单元的文件名. 输入"BabelFish_Intf.pas", 点击"Ok" 并点击"Yes"将这个单元加入到项目中.
回到主窗口单元用"File|Use Unit..."选择 "BabelFish_Intf.pas"将新加入的单元引入近来.
在主窗体中双击"Translate"按钮创建事件处理函数并加入如下代码调用服务:
 
注意这里尽量的简单创建对象实例(这里通过消息和通道对象实现通信),然后调用适当的方法.注意生成的服务接口与Delphi完全兼容,所以在我们写代码时提供完整的提示,编译时也作全类型的检查.
现在我们允许程序在编辑框中输入英文并点击"Translate"按钮:
明显翻译不是很准确但是这超出了本文的范围.
 
 
原创粉丝点击