<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 251  文章 - 504  trackbacks - 0
    <2007年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    本博客系個人收集材料及學習記錄之用,各類“大俠”勿擾!

    留言簿(14)

    隨筆分類

    收藏夾

    My Favorite Web Sites

    名Bloger

    非著名Bloger

    搜索

    •  

    積分與排名

    • 積分 - 202543
    • 排名 - 285

    最新評論

    我曾經(jīng)介紹過“使用Axis開發(fā)Web Service程序”的一些步驟,做為一個更有特色的應用范例,本次我將介紹使用Axis通過Web Service調用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相關包文件放在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   五、編寫程序,調用Google SOAP Search API   在上面那個包下,編寫你自己的Java程序,就可以調用Google SOAP Search API.目前可以使用的Google服務有:網(wǎng)頁搜索,網(wǎng)頁快照,拼寫檢查這三個。   Java示例代碼如下,請使用前將clientKey替換為你自己的。替換后直接運行即可得出結果。 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包可以做為客戶端調用,下載地址參見這里。   最后聲明一下,Google SOAP Search API是屬于實驗產(chǎn)品,每個license每天最多只允許搜索一千次,其許可協(xié)議注明不能使用于商業(yè)模式的網(wǎng)站,而對于個人研究來說,每天一千次的搜索也就足夠了。   相關專業(yè)名詞解釋:   Web Service:是一種革命性的分布是計算技術。它使用基于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. 遠程對象方法調用的格式。規(guī)定了怎樣表示被調用對象以及調用的方法名稱和參數(shù)類型等。   3. 參數(shù)類型和XML格式之間的映射。這是因為,被調用的方法有時候需要傳遞一個復雜的參數(shù),例如,一個Person對象。怎樣用XML來表示一個對象參數(shù),也是SOAP所定義的范圍。   WSDL:是“Web Services Description Language”的縮寫。WSDL是Web Services的定義語言。當實現(xiàn)了某種服務的時候(如:股票查詢服務),為了讓別的程序調用,必須告訴大家服務接口。例如:服務名稱,服務所在的機器名稱,監(jiān)聽端口號,傳遞參數(shù)的類型,個數(shù)和順序,返回結果的類型等等。這樣別的應用程序才能調用該服務。WSDL協(xié)議就是規(guī)定了有關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關注信息本身,是Web上表示結構化信息的一種標準文本格式。與傳統(tǒng)的注重頁面信息顯示的HTML(Hypertext Markup Language, 超文本鏈接標示語言)相比,關注于內容的XML具有以下諸多優(yōu)點:良好的可擴展性,語言簡單有效,可自行定義標記;內容與形式的分離,主要刻畫數(shù)據(jù)內容,不考慮顯示效果;有嚴格的語法要求,便于分析統(tǒng)一和與數(shù)據(jù)庫信息轉換;便于傳輸,為純文本形式,可通過Http協(xié)議直接傳輸,可跨越防火墻;等等。XML的出現(xiàn)和發(fā)展對于Internet和Intranet產(chǎn)生了巨大的影響。 轉載自月光博客 [ http://www.williamlong.info/ ]
    posted on 2007-11-22 16:32 matthew 閱讀(832) 評論(1)  編輯  收藏 所屬分類: Web Services and SOA

    FeedBack:
    # re: 通過Web Service調用Google SOAP Search API-轉 2007-12-24 11:31 放水老倌
    唐師兄,俺最近在看WS-Addressing。有意思的東東,你也看看:)  回復  更多評論
      
    主站蜘蛛池模板: 精品亚洲综合久久中文字幕| 国产免费资源高清小视频在线观看| 亚洲成年看片在线观看| 亚洲精品乱码久久久久蜜桃| 成人免费毛片内射美女-百度| 亚洲黄色一级毛片| 无码精品一区二区三区免费视频 | 亚洲综合国产精品第一页| 欧美日韩亚洲精品| 全亚洲最新黄色特级网站| 特级毛片免费观看视频| 免费在线观看黄网站| 五月天婷婷免费视频| 国产午夜亚洲精品理论片不卡 | 国产久爱免费精品视频 | 亚洲首页在线观看| 国产99视频精品免费观看7| www.亚洲成在线| 国产精品无码免费视频二三区| 亚洲成熟丰满熟妇高潮XXXXX| 国产公开免费人成视频| 国产精品青草视频免费播放| 亚洲综合另类小说色区| 老汉精品免费AV在线播放| 亚洲AV无码一区二区三区人 | 你懂得的在线观看免费视频| 亚洲精品高清无码视频| 最近中文字幕完整版免费高清| 亚洲av无码一区二区三区观看| 国产高清免费在线| 青青操在线免费观看| 亚洲日本国产乱码va在线观看| 好大好硬好爽免费视频| 99久久婷婷免费国产综合精品| 亚洲欧洲自拍拍偷午夜色| 免费国产a国产片高清| 永久免费av无码入口国语片| 亚洲AV无码乱码麻豆精品国产 | 久久亚洲国产成人亚| 国产在线a免费观看| 一本到卡二卡三卡免费高|