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

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

你可能感兴趣的:(Web,service,application,SOAP,import,Delphi)