<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

    搜索

    •  

    積分與排名

    • 積分 - 202748
    • 排名 - 284

    最新評論

    我曾經介紹過“使用Axis開發Web Service程序”的一些步驟,做為一個更有特色的應用范例,本次我將介紹使用Axis通過Web Service調用Google SOAP Search API,實現Google搜索、Google快照、Google拼寫這三項功能,包括示例源代碼。   一、環境配置   首先,沒有Java開發環境的,需要安裝一下環境,點這里查看《Java開發環境的詳細配置方法》,其實,本示例安裝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服務有:網頁搜索,網頁快照,拼寫檢查這三個。   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是屬于實驗產品,每個license每天最多只允許搜索一千次,其許可協議注明不能使用于商業模式的網站,而對于個人研究來說,每天一千次的搜索也就足夠了。   相關專業名詞解釋:   Web Service:是一種革命性的分布是計算技術。它使用基于XML的消息處理作為基本的數據通訊方式,消除使用不同組件模型、操作系統和編程語言的系統之間存在的差異,使異類系統能夠作為計算網絡的一部分協同運行。開發人員可以使用像過去創建分布式應用程序時使用組件的方式,創建由各種來源的Web服務組合在一起的應用程序。由于Web服務是建立在一些通用協議的基礎上,如HTTP(Hypertext Transfer Protocol, WWW服務程序所用的協議),SOAP(Simple Object Access Protocol,簡單對象訪問協議),XML,WSDL(Web Services Description Language,Web服務描述語言),UDDI(Universal Description,Discovery,and Integration,通用描述發現和集成協議)等,這些協議在涉及到操作系統、對象模型和編程語言的選擇時,沒有任何傾向,因此Web服務將會有很強的生命力。   SOAP:是“Simple Object Access Protocol”的縮寫,SOAP是消息傳遞的協議,它規定了Web Services之間是怎樣傳遞信息的。簡單的說,SOAP規定了:   1. 傳遞信息的格式為XML.這就使Web Services能夠在任何平臺上,用任何語言進行實現。   2. 遠程對象方法調用的格式。規定了怎樣表示被調用對象以及調用的方法名稱和參數類型等。   3. 參數類型和XML格式之間的映射。這是因為,被調用的方法有時候需要傳遞一個復雜的參數,例如,一個Person對象。怎樣用XML來表示一個對象參數,也是SOAP所定義的范圍。   WSDL:是“Web Services Description Language”的縮寫。WSDL是Web Services的定義語言。當實現了某種服務的時候(如:股票查詢服務),為了讓別的程序調用,必須告訴大家服務接口。例如:服務名稱,服務所在的機器名稱,監聽端口號,傳遞參數的類型,個數和順序,返回結果的類型等等。這樣別的應用程序才能調用該服務。WSDL協議就是規定了有關Web Services描述的標準。   UDDI:是“Universal Description, Discovery,and Integration”的縮寫。簡單說,UDDI用于集中存放和查找WSDL描述文件,起著目錄服務器的作用。   XML:(eXtensible Markup Language,可擴展標記語言)是Internet上數據表示和數據交換的新標準。它是ISO(International Organization for Standardization,國際標準化組織)的SGML(Standard for General Markup Language,通用標記語言標準)的一個簡化子集。XML關注信息本身,是Web上表示結構化信息的一種標準文本格式。與傳統的注重頁面信息顯示的HTML(Hypertext Markup Language, 超文本鏈接標示語言)相比,關注于內容的XML具有以下諸多優點:良好的可擴展性,語言簡單有效,可自行定義標記;內容與形式的分離,主要刻畫數據內容,不考慮顯示效果;有嚴格的語法要求,便于分析統一和與數據庫信息轉換;便于傳輸,為純文本形式,可通過Http協議直接傳輸,可跨越防火墻;等等。XML的出現和發展對于Internet和Intranet產生了巨大的影響。 轉載自月光博客 [ 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。有意思的東東,你也看看:)  回復  更多評論
      
    主站蜘蛛池模板: 日日麻批免费40分钟无码| 中国一级全黄的免费观看| 免费a级毛片网站| 日韩中文字幕精品免费一区| 国产偷伦视频免费观看| 3344永久在线观看视频免费首页| eeuss免费影院| 精品免费tv久久久久久久| 中文字幕成人免费视频| 四色在线精品免费观看| 亚洲精品无码日韩国产不卡?V| 免费被黄网站在观看| 亚洲国产精品无码久久九九| 亚洲国产精久久久久久久| 99久久国产亚洲综合精品| 羞羞漫画页面免费入口欢迎你| 中文精品人人永久免费| 97在线线免费观看视频在线观看| 国产乱子伦精品免费无码专区 | 亚洲国产精品无码久久九九 | 亚洲福利电影一区二区?| 亚洲AV永久无码精品一福利| 亚洲最大的视频网站| 亚洲国产成人精品无码一区二区 | 亚洲精品天堂无码中文字幕| 亚洲一区二区三区免费| 57pao国产成永久免费视频| 在线观看免费精品国产| 在线观看永久免费视频网站| 亚洲成色WWW久久网站| 亚洲国产精品自在线一区二区| 久久亚洲精品国产精品婷婷 | 免费国产成人18在线观看| 影音先锋在线免费观看| 亚洲色大成网站WWW久久九九| 久久夜色精品国产噜噜亚洲a| 免费久久人人爽人人爽av | 午夜dj在线观看免费视频| 国产精一品亚洲二区在线播放| 亚洲va在线va天堂va888www| 亚洲国产成人va在线观看网址|