Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

简介 Google 开放式 WebServices 查询接口

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  GLUE 的强处在于它自动为您处理所有 XML <-> Java Object Mapping 以及 SOAP 传输的问题,您甚至不需要看懂 WSDL 便可直接使用 WebServices !我们现在已经将 WSDL 转换成 Java 对象, package 名为 example ,接下来便是撰写 Client 去连接 google ∶


import java.io.*;
import electric.registry.Registry; 
// 包含于 GLUE-STD.jar ,为 GLUE 标准版的 library
import example.*; //GLUE 自动为您由 WSDL 产生出来的 Java 对象 
public class SearchGoogle2 {
  public static void main(String[] args) {
    if (args.length != 2) 
    {
      System.err.println("Usage: java SearchGoogle LicenseKey 查询字符串 ");
      System.exit(1);
    }
    String clientKey = args[0];
    String queryString = args[1];

    System.out.println(" 查询字符串 = " + queryString );
    String url = "http://api.google.com/GoogleSearch.wsdl";
    try
    {
      // 利用 GLUE 产生的接口,去 bind google 的 WSDL
      IGoogleSearchPort searcher = (IGoogleSearchPort) 
      Registry.bind(url , IGoogleSearchPort.class);
      // 查询
      GoogleSearchResult result = searcher.doGoogleSearch
      ( clientKey , queryString , 0 , 1 , false , "" , false , 
      "" , "Big5" , "Big5" );
      System.out.println(" 查找结果 :");
      System.out.println("======================");
      System.out.println(" 回应数量∶ " + result.resultElements.length );
      System.out.println(" 第一笔结果∶ ");
      System.out.println(" 简介∶ " + result.resultElements[0].summary );
      System.out.println("URL ∶ " + result.resultElements[0].URL );
      System.out.println(" 片段∶ " + result.resultElements[0].snippet );
      System.out.println(" 标头∶ " + result.resultElements[0].title );
      System.out.println(" 主机∶ " + result.resultElements[0].hostName );
      System.out.println(" 目录∶ " + result.resultElements[0].directoryTitle );
    }
    catch (electric.registry.RegistryException e)
    {
      System.out.println(" 错误∶ " + e.getMessage());
    }
  } 
}

  执行结果指令如下∶


$ java -classpath .:../lib/GLUE-STD.jar:../lib/j2ee.jar:../lib/jnet.jar 
SearchGoogle2 xxxxxxxxx- 我的 LicenseKey-xxxxxxxxx LinuxFab
查询字符串 = LinuxFab
查找结果 :
======================
回应数量∶ 1
第一笔结果∶
简介∶
URL ∶ http://bbs.ee.ntu.edu.tw/boards/Linux/21/
片段∶◆ 【 LinuxFab 早报】 . ... 5, ◇ 
【 LinuxFab 本周专栏】 如何制作简易 Floppy Liunx, linuxfab. 07/13/01. ...
标头∶◆ 【 LinuxFab 早报】
主机∶
目录∶ 

  要注意的是,这只是 google beta2 版本的 WSDL ,未来接口一定会有所更动,而且远端主机 (api.google.com) 仍然不太稳定,有时候会连不过去,有时又会出现 Internal Server Error 的错误。不过以上的介绍应该可以给大家一个简单的 WebServices 概念了吧?目前几乎所有的程序语言都有 WebServices 的相关软体包,不论您是 PHP 网页制作者,或是 VB 窗口程序员,应该都找到相关的软体包,直接在您的网页 / 程序上面撰写 WebServices 的 Client 以及 Server 。

  截稿前消息∶全球最大的网络书店 Amazon ,也开始提供 WebServices 接口给代销商( associates ,可以在个人网页上放置连往 Amazon 的 icon 或连结,藉此赚取部分成交金额)使用。代销商现在可以利用 Amazon 提供的 WebServices 撰写 Web/Desktop 应用程序了!看来类似的 WebServices 将会逐渐在许多大站点中陆续被采用,或许 LinuxFab/SourceFab 可以考虑引进此技术,使本站成为华人 Open Source 界的网络运算中心。

  参考资料

  google web APIS

  O'Reilly Network: Google Web API [April 21, 2002]'




 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 2下一页


上一篇:如何在Linux下用DMA方式传输数据   下一篇:利用twig架设WebMail系统

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
·Motorola微处理器bootloader分析与应用
·Fedora Core5 NFS服务器搭建过程介绍
·Linux系统:让内存不再泄漏的实用技巧
·新手看招 手把手教你安装VMware虚拟机
·“侵权事件” 红帽称微软企图干扰用户
·删除Linux后 如何找回Windows启动菜单
·菜鸟乐园 Linux中常见文件系统格式介绍
·Linux操作系统下IPTables配置方法详解
·实用技巧 Linux系统的经典使用技巧八则
·Linux系统文件优化及磁盘检查方法介绍
推荐文章
·Sendmail第六章:邮件中枢与分发代理
·Enhydra入门-了解Enhydra
·安装Pureftpd加强版
·Linux 网管 123 --- 第6章. 一般系
·Linux-PAM系统管理指南(2)
·FreeBSD 4.9下安装 JDK1.4.2的说明
·Perl手册
·Snort 中文手册
精彩文章
·一个简易的proxy程序的开发过程(2)
·第四层交换
·Linux 指令篇:档案目录管理--chmod
·如何让mrtg生成RRD格式的数据及图片
·UNIX/LINUX中使用MRTG自动画虚拟主
·Linux 指令篇:设备管理--MAKEDEV
·MBR如果被覆盖了怎麽办?
·OpenSource产品的商业操作模式
·Qmail+MH(上)
·FreeBSD-4.7下安装网络流量统计分析
·Linux操作系统下IPTables配置方法详
·FTP命令行使用精萃
·Samba使用大全(二)-Samba客户端
·探查DNS服务器运行状况
·使用CachedRowSet实现数据库的断接
·Linux系统下X终端的详细使用方法
·Oracle中巧用FORMS_DDL
·Linux-PAM系统管理指南(1)
·在GoF模式以外(1)
·[Moden]让LINUX成功支持Cirrus Logi
·Squid优化完全手册(1)
·三种VPN解决方案的优点
·Linux网络的多播IP技术
·JSP的环境引擎--websphere
·简介 Google 开放式 WebServices 查
·Linux网络安全之经验谈(3)
Power by linux-cn.com 粤ICP备05006655号