国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
通過Web Service調(diào)用Google SOAP Search API

通過Web Service調(diào)用Google SOAP Search API

  我曾經(jīng)介紹過“使用Axis開發(fā)Web Service程序”的一些步驟,做為一個更有特色的應用范例,本次我將介紹使用Axis通過Web Service調(diào)用Google SOAP Search API,實現(xiàn)Google搜索、Google快照、Google拼寫這三項功能,包括示例源代碼。

  一、環(huán)境配置

  首先,沒有Java開發(fā)環(huán)境的,需要安裝一下環(huán)境,點這里查看《Java開發(fā)環(huán)境的詳細配置方法》,其實,本示例安裝JDK 1.42以及Eclipse 3.2就可以了。

  二、將Apache Axis相關(guān)包文件放在WEB-INF\lib目錄下

  從Apache的主頁上下載Axis包文件,復制到lib目錄下。

  三、申請Google SOAP Search API license key

  要使用Google的服務,必須要有“license key”,如果你有Gmail賬號,點這里就可以申請license key,這個license key是一段很長的字符串,每個key可以支持每天1000次的Google搜索。

  四、下載WSDL文件,生成客戶端Java代碼

  WSDL文件的下載地址參見:http://api.google.com/GoogleSearch.wsdl

  生成客戶端代碼的批處理文件如下:

set Axis_Lib=D:\workspace\test\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\test\src
set Package=com.google.api
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% GoogleSearch.wsdl

  最后會生成下列代碼文件:

DirectoryCategory.java
GoogleSearchBindingStub.java
GoogleSearchPort_PortType.java
GoogleSearchResult.java
GoogleSearchService.java
GoogleSearchServiceLocator.java
ResultElement.java

  五、編寫程序,調(diào)用Google SOAP Search API

  在上面那個包下,編寫你自己的Java程序,就可以調(diào)用Google SOAP Search API.目前可以使用的Google服務有:網(wǎng)頁搜索,網(wǎng)頁快照,拼寫檢查這三個。

  Java示例代碼如下,請使用前將clientKey替換為你自己的。替換后直接運行即可得出結(jié)果。

package com.google.api;

import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;

public class ClientGoogle {

  public static void main(String[] args) throws ServiceException,
    RemoteException {
    String clientKey = "kkkkkkkkkkkkkkkkkkkkkkkkkkey";
    GoogleSearchServiceLocator service = new GoogleSearchServiceLocator();
    GoogleSearchPort_PortType gsp = service.getGoogleSearchPort();

    //Google Search API
    GoogleSearchResult searchResult = gsp.doGoogleSearch(clientKey,
        "www.williamlong.info", 0, 10, false, "", false, "", "latin1",
        "latin1");
    System.out.println("Google Search Results:");
    System.out.println("======================");
    ResultElement results[] = searchResult.getResultElements();
    for (int counter = 0; counter < results.length; ++counter) {
      ResultElement result = results[counter];
      String returnResult = "('" + result.getTitle() + "','"
          + result.getURL() + "','" + result.getSnippet() + "')";
      System.out.println("Return Result");
      System.out.println(returnResult);
    }

    //Google CachedPage
    byte[] cachedBytes = gsp.doGetCachedPage(clientKey,
        "http://www.williamlong.info/");
    System.out.println("Cached page:");
    System.out.println("============");
    String cachedString = new String(cachedBytes);
    System.out.println(cachedString);

    //Google SpellingSuggestion
    String suggestion = (String) gsp.doSpellingSuggestion(clientKey,
        "williamlong");
    System.out.println(suggestion);

  }

}

  當然,你也可以不使用Apache Axis,Google自己也提供了一個API包可以做為客戶端調(diào)用,下載地址參見這里。

  最后聲明一下,Google SOAP Search API是屬于實驗產(chǎn)品,每個license每天最多只允許搜索一千次,其許可協(xié)議注明不能使用于商業(yè)模式的網(wǎng)站,而對于個人研究來說,每天一千次的搜索也就足夠了。

  相關(guān)專業(yè)名詞解釋:

  Web Service:是一種革命性的分布是計算技術(shù)。它使用基于XML的消息處理作為基本的數(shù)據(jù)通訊方式,消除使用不同組件模型、操作系統(tǒng)和編程語言的系統(tǒng)之間存在的差異,使異類系統(tǒng)能夠作為計算網(wǎng)絡的一部分協(xié)同運行。開發(fā)人員可以使用像過去創(chuàng)建分布式應用程序時使用組件的方式,創(chuàng)建由各種來源的Web服務組合在一起的應用程序。由于Web服務是建立在一些通用協(xié)議的基礎上,如HTTP(Hypertext Transfer Protocol, WWW服務程序所用的協(xié)議),SOAP(Simple Object Access Protocol,簡單對象訪問協(xié)議),XML,WSDL(Web Services Description Language,Web服務描述語言),UDDI(Universal Description,Discovery,and Integration,通用描述發(fā)現(xiàn)和集成協(xié)議)等,這些協(xié)議在涉及到操作系統(tǒng)、對象模型和編程語言的選擇時,沒有任何傾向,因此Web服務將會有很強的生命力。

  SOAP:是“Simple Object Access Protocol”的縮寫,SOAP是消息傳遞的協(xié)議,它規(guī)定了Web Services之間是怎樣傳遞信息的。簡單的說,SOAP規(guī)定了:

  1. 傳遞信息的格式為XML.這就使Web Services能夠在任何平臺上,用任何語言進行實現(xiàn)。

  2. 遠程對象方法調(diào)用的格式。規(guī)定了怎樣表示被調(diào)用對象以及調(diào)用的方法名稱和參數(shù)類型等。

  3. 參數(shù)類型和XML格式之間的映射。這是因為,被調(diào)用的方法有時候需要傳遞一個復雜的參數(shù),例如,一個Person對象。怎樣用XML來表示一個對象參數(shù),也是SOAP所定義的范圍。

  WSDL:是“Web Services Description Language”的縮寫。WSDL是Web Services的定義語言。當實現(xiàn)了某種服務的時候(如:股票查詢服務),為了讓別的程序調(diào)用,必須告訴大家服務接口。例如:服務名稱,服務所在的機器名稱,監(jiān)聽端口號,傳遞參數(shù)的類型,個數(shù)和順序,返回結(jié)果的類型等等。這樣別的應用程序才能調(diào)用該服務。WSDL協(xié)議就是規(guī)定了有關(guān)Web Services描述的標準。

  UDDI:是“Universal Description, Discovery,and Integration”的縮寫。簡單說,UDDI用于集中存放和查找WSDL描述文件,起著目錄服務器的作用。

  XML:(eXtensible Markup Language,可擴展標記語言)是Internet上數(shù)據(jù)表示和數(shù)據(jù)交換的新標準。它是ISO(International Organization for Standardization,國際標準化組織)的SGML(Standard for General Markup Language,通用標記語言標準)的一個簡化子集。XML關(guān)注信息本身,是Web上表示結(jié)構(gòu)化信息的一種標準文本格式。與傳統(tǒng)的注重頁面信息顯示的HTML(Hypertext Markup Language, 超文本鏈接標示語言)相比,關(guān)注于內(nèi)容的XML具有以下諸多優(yōu)點:良好的可擴展性,語言簡單有效,可自行定義標記;內(nèi)容與形式的分離,主要刻畫數(shù)據(jù)內(nèi)容,不考慮顯示效果;有嚴格的語法要求,便于分析統(tǒng)一和與數(shù)據(jù)庫信息轉(zhuǎn)換;便于傳輸,為純文本形式,可通過Http協(xié)議直接傳輸,可跨越防火墻;等等。XML的出現(xiàn)和發(fā)展對于Internet和Intranet產(chǎn)生了巨大的影響。



原創(chuàng)文章如轉(zhuǎn)載,請注明:轉(zhuǎn)載自月光博客 [ http://www.williamlong.info/ ]

本文鏈接地址:http://www.williamlong.info/archives/711.html
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Web Service
Axis2體系結(jié)構(gòu)中文手冊
使用SOAP開發(fā)java web服務--Axis開發(fā)方案
WebService學習,開發(fā)總結(jié)--唐木之無線觀察
用Axis 1.1 for Java進行Web Services開發(fā)(1)
AXIS開始Web 服務
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服