<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年12月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

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

    留言簿(14)

    隨筆分類

    收藏夾

    My Favorite Web Sites

    名Bloger

    非著名Bloger

    搜索

    •  

    積分與排名

    • 積分 - 202369
    • 排名 - 285

    最新評論

    我曾經(jīng)介紹過“使用Axis開發(fā)Web Service程序”的一些步驟,做為一個更有特色的應(yīng)用范例,本次我將介紹使用Axis通過Web Service調(diào)用Google SOAP Search API,實現(xiàn)Google搜索、Google快照、Google拼寫這三項功能,包括示例源代碼。   一、環(huán)境配置   首先,沒有Java開發(fā)環(huán)境的,需要安裝一下環(huán)境,點(diǎn)這里查看《Java開發(fā)環(huán)境的詳細(xì)配置方法》,其實,本示例安裝JDK 1.42以及Eclipse 3.2就可以了。   二、將Apache Axis相關(guān)包文件放在WEB-INF\lib目錄下   從Apache的主頁上下載Axis包文件,復(fù)制到lib目錄下。   三、申請Google SOAP Search API license key   要使用Google的服務(wù),必須要有“license key”,如果你有Gmail帳號,點(diǎn)這里就可以申請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ù)有:網(wǎng)頁搜索,網(wǎng)頁快照,拼寫檢查這三個。   Java示例代碼如下,請使用前將clientKey替換為你自己的。替換后直接運(yùn)行即可得出結(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); } }   當(dāng)然,你也可以不使用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)絡(luò)的一部分協(xié)同運(yùn)行。開發(fā)人員可以使用像過去創(chuàng)建分布式應(yīng)用程序時使用組件的方式,創(chuàng)建由各種來源的Web服務(wù)組合在一起的應(yīng)用程序。由于Web服務(wù)是建立在一些通用協(xié)議的基礎(chǔ)上,如HTTP(Hypertext Transfer Protocol, WWW服務(wù)程序所用的協(xié)議),SOAP(Simple Object Access Protocol,簡單對象訪問協(xié)議),XML,WSDL(Web Services Description Language,Web服務(wù)描述語言),UDDI(Universal Description,Discovery,and Integration,通用描述發(fā)現(xiàn)和集成協(xié)議)等,這些協(xié)議在涉及到操作系統(tǒng)、對象模型和編程語言的選擇時,沒有任何傾向,因此Web服務(wù)將會有很強(qiáng)的生命力。   SOAP:是“Simple Object Access Protocol”的縮寫,SOAP是消息傳遞的協(xié)議,它規(guī)定了Web Services之間是怎樣傳遞信息的。簡單的說,SOAP規(guī)定了:   1. 傳遞信息的格式為XML.這就使Web Services能夠在任何平臺上,用任何語言進(jìn)行實現(xiàn)。   2. 遠(yuǎn)程對象方法調(diào)用的格式。規(guī)定了怎樣表示被調(diào)用對象以及調(diào)用的方法名稱和參數(shù)類型等。   3. 參數(shù)類型和XML格式之間的映射。這是因為,被調(diào)用的方法有時候需要傳遞一個復(fù)雜的參數(shù),例如,一個Person對象。怎樣用XML來表示一個對象參數(shù),也是SOAP所定義的范圍。   WSDL:是“Web Services Description Language”的縮寫。WSDL是Web Services的定義語言。當(dāng)實現(xiàn)了某種服務(wù)的時候(如:股票查詢服務(wù)),為了讓別的程序調(diào)用,必須告訴大家服務(wù)接口。例如:服務(wù)名稱,服務(wù)所在的機(jī)器名稱,監(jiān)聽端口號,傳遞參數(shù)的類型,個數(shù)和順序,返回結(jié)果的類型等等。這樣別的應(yīng)用程序才能調(diào)用該服務(wù)。WSDL協(xié)議就是規(guī)定了有關(guān)Web Services描述的標(biāo)準(zhǔn)。   UDDI:是“Universal Description, Discovery,and Integration”的縮寫。簡單說,UDDI用于集中存放和查找WSDL描述文件,起著目錄服務(wù)器的作用。   XML:(eXtensible Markup Language,可擴(kuò)展標(biāo)記語言)是Internet上數(shù)據(jù)表示和數(shù)據(jù)交換的新標(biāo)準(zhǔn)。它是ISO(International Organization for Standardization,國際標(biāo)準(zhǔn)化組織)的SGML(Standard for General Markup Language,通用標(biāo)記語言標(biāo)準(zhǔn))的一個簡化子集。XML關(guān)注信息本身,是Web上表示結(jié)構(gòu)化信息的一種標(biāo)準(zhǔn)文本格式。與傳統(tǒng)的注重頁面信息顯示的HTML(Hypertext Markup Language, 超文本鏈接標(biāo)示語言)相比,關(guān)注于內(nèi)容的XML具有以下諸多優(yōu)點(diǎn):良好的可擴(kuò)展性,語言簡單有效,可自行定義標(biāo)記;內(nèi)容與形式的分離,主要刻畫數(shù)據(jù)內(nèi)容,不考慮顯示效果;有嚴(yán)格的語法要求,便于分析統(tǒng)一和與數(shù)據(jù)庫信息轉(zhuǎn)換;便于傳輸,為純文本形式,可通過Http協(xié)議直接傳輸,可跨越防火墻;等等。XML的出現(xiàn)和發(fā)展對于Internet和Intranet產(chǎn)生了巨大的影響。 轉(zhuǎn)載自月光博客 [ http://www.williamlong.info/ ]
    posted on 2007-11-22 16:32 matthew 閱讀(831) 評論(1)  編輯  收藏 所屬分類: Web Services and SOA

    FeedBack:
    # re: 通過Web Service調(diào)用Google SOAP Search API-轉(zhuǎn) 2007-12-24 11:31 放水老倌
    唐師兄,俺最近在看WS-Addressing。有意思的東東,你也看看:)  回復(fù)  更多評論
      
    主站蜘蛛池模板: 波多野结衣中文一区二区免费 | 无码成A毛片免费| 亚洲精品国产日韩无码AV永久免费网 | 综合自拍亚洲综合图不卡区| 香蕉免费一级视频在线观看| 亚洲精品成人片在线观看| 有码人妻在线免费看片| 亚洲午夜激情视频| 你是我的城池营垒免费观看完整版| 国产亚洲av人片在线观看| 色播在线永久免费视频网站| 亚洲成色在线影院| 久久综合国产乱子伦精品免费| 亚洲毛片免费视频| 成人毛片免费观看视频大全| 亚洲av无码专区在线电影天堂 | 伊人亚洲综合青草青草久热| 97在线视频免费公开视频| 亚洲av无码无在线观看红杏| 猫咪免费人成网站在线观看| 亚洲精品国产国语| 亚洲av无码成人精品区在线播放| 国产精品一区二区三区免费| 香蕉蕉亚亚洲aav综合| 99在线视频免费观看视频| 狠狠色伊人亚洲综合网站色| 亚洲国产aⅴ综合网| 免费91最新地址永久入口| 亚洲乱码卡一卡二卡三| 国产jizzjizz免费看jizz| 国产好大好硬好爽免费不卡| 亚洲一级毛片中文字幕| 亚洲国产综合无码一区二区二三区| 免费污视频在线观看| 91在线亚洲综合在线| 亚洲一区二区三区乱码A| 最近免费中文在线视频| 羞羞网站免费观看| 亚洲高清免费在线观看| 四只虎免费永久观看| 69视频免费观看l|