




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、PAGE PAGE 23畢業(yè)論文基于Webservice的信息查詢系統(tǒng)旅游城市信息、天氣預(yù)報(bào)、人民幣匯率、手機(jī)號碼歸屬地等信息查詢時間:2014-1-20目錄 TOC o 1-3 u 項(xiàng)目開發(fā)人員角色與工作任務(wù)分配 PAGEREF _Toc252890685 h 2項(xiàng)目部署與測試說明 PAGEREF _Toc252890686 h 3摘 要 PAGEREF _Toc252890687 h 41 Webservice相關(guān)模型及理論 PAGEREF _Toc252890688 h 51.1 Webservice介紹 PAGEREF _Toc252890689 h 51.2 WebService的技
2、術(shù)支持 PAGEREF _Toc252890690 h 61.2.1 XML和XSD PAGEREF _Toc252890691 h 61.2.2 SOAP協(xié)議 PAGEREF _Toc252890692 h 61.2.3 UDDI PAGEREF _Toc252890693 h 71.2.4 WSDL PAGEREF _Toc252890694 h 81.2.5遠(yuǎn)程過程調(diào)用RPC與消息傳遞 PAGEREF _Toc252890695 h 82 當(dāng)前Webservice開發(fā)技術(shù) PAGEREF _Toc252890696 h 92.1 微軟.NET PAGEREF _Toc252890697
3、h 92.2 Sun的Java WSDP PAGEREF _Toc252890698 h 92.3 IBM的WebSphere PAGEREF _Toc252890699 h 92.4 ApAche的Axis PAGEREF _Toc252890700 h 103 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc252890701 h 113.1服務(wù)發(fā)布端Axis2配置 PAGEREF _Toc252890702 h 113.1.1搭建axis2環(huán)境 PAGEREF _Toc252890703 h 113.1.2生成wsdl文件 PAGEREF _Toc252890704 h 113.1.3生成ser
4、ver端的.java文件 PAGEREF _Toc252890705 h 113.1.4生成server端的.java文件 PAGEREF _Toc252890706 h 113.2 客戶端設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc252890707 h 123.2.1搭建項(xiàng)目架構(gòu) PAGEREF _Toc252890708 h 123.2.2模塊代碼開發(fā) PAGEREF _Toc252890709 h 123.2.3 WSDL文件分析 PAGEREF _Toc252890710 h 133.2.4解析XML數(shù)據(jù)文件 PAGEREF _Toc252890711 h 143.3系統(tǒng)測試流程 PAGER
5、EF _Toc252890712 h 173.3.1部署系統(tǒng)測試環(huán)境 PAGEREF _Toc252890713 h 173.3.2旅游景點(diǎn)查詢測試 PAGEREF _Toc252890714 h 173.3.3 天氣預(yù)報(bào)查詢測試 PAGEREF _Toc252890715 h 183.3.4 外匯-人民幣即時報(bào)價測試 PAGEREF _Toc252890716 h 193.3.5 國內(nèi)手機(jī)號碼歸屬地查詢查詢測試 PAGEREF _Toc252890717 h 204項(xiàng)目總結(jié)與開發(fā)心得體會 PAGEREF _Toc252890718 h 22項(xiàng)目開發(fā)人員角色與工作任務(wù)分配排名姓名聯(lián)系方式角色完
6、成工作任務(wù)1王立峰架構(gòu)設(shè)計(jì)、編寫代碼、測試調(diào)試、文檔編寫,設(shè)計(jì)流程圖組織項(xiàng)目架構(gòu),完成主要代碼編寫,調(diào)試修改,編寫項(xiàng)目文檔,搜集相關(guān)資料2高超開發(fā)、測試、文檔編寫,搜集相關(guān)資料編寫代碼、測試、文檔編寫,搜集相關(guān)資料3黎超開發(fā)、測試、文檔編寫、使用Visio畫流程圖編寫代碼、測試、文檔編寫、使用Visio畫流程圖項(xiàng)目部署與測試說明1、運(yùn)行環(huán)境:jdk1.5以上,tomcat5.52、tomcat配置:修改tomcat根目錄下conf文件夾下的server.xml配置文件,在中加入如下配置,;重新啟動tomcat,在瀏覽器中輸入: HYPERLINK http:/localhost http:/l
7、ocalhost:8090/webservicetest (其中8090為測試機(jī)tomcat端口號),進(jìn)入系統(tǒng)。3、使用本系統(tǒng)需是計(jì)算機(jī)處在聯(lián)網(wǎng)狀態(tài),才能訪問Internet上發(fā)布的Webservice服務(wù)的功能。4、由于在Internet上未找到可用的“旅游城市信息查詢”的Webservice服務(wù),故該功能暫時無法進(jìn)行測試使用。摘 要Web Service是構(gòu)建互聯(lián)網(wǎng)分布式系統(tǒng)的基本部件,已正成為企業(yè)應(yīng)用集成(Enterprise Application Integration)的有效平臺。在互聯(lián)網(wǎng)中可以直接調(diào)用Web Service構(gòu)建應(yīng)用程序,而不必考慮這些Web Service內(nèi)部是怎
8、么實(shí)現(xiàn)的。Web Service通過標(biāo)準(zhǔn)通信協(xié)議,通過使用SOAP通信協(xié)議,在互聯(lián)網(wǎng)上發(fā)布web Service服務(wù)程序模塊(以服務(wù)的方式)。Web Service發(fā)布一份詳細(xì)的WSDL(Web Service Description Language)接口說明,來幫助用戶構(gòu)建應(yīng)用程序。Web Service將服務(wù)注冊到管理服務(wù)器,通過UDDI(Universal Discovery Description and Integration)文檔說明服務(wù)接口,用戶查詢和使用所發(fā)布的web Service服務(wù)。Web Service 是一種新的web應(yīng)用程序,是自包含、自描述、模塊化的應(yīng)用,可以發(fā)
9、布、定位、通過web調(diào)用。可以執(zhí)行從簡單的請求到復(fù)雜商務(wù)處理的任何功能。部署以后,其他Web Service應(yīng)用程序可以發(fā)現(xiàn)并調(diào)用它部署的服務(wù)。 關(guān)鍵詞:Webservice;WSDL;SOAP;XML;旅游城市信息、天氣預(yù)報(bào)、人民幣匯率、手機(jī)號碼歸屬地; 1 Webservice相關(guān)模型及理論1.1 Webservice介紹從表面上看,WebService就是一個應(yīng)用程序,該應(yīng)用程序向外界提供了一個能夠通過Web進(jìn)行調(diào)用的API。即用編程的方法通過Web調(diào)用來實(shí)現(xiàn)某個功能的應(yīng)用程序。如圖:創(chuàng)建Web Service,該Web Service作用是查詢旅游城市信息、天氣預(yù)報(bào)、人民幣匯率、手機(jī)號
10、碼歸屬地信息。接受查詢條件字符串,通過SOAP協(xié)議將客戶端請求信息發(fā)送到Web Service服務(wù)發(fā)布服務(wù)器上,Web Service服務(wù)端接收用戶請求信息,調(diào)用中間層組件,把結(jié)果格式化為xml數(shù)據(jù)形式,最后還要通過SOAP協(xié)議將結(jié)果數(shù)據(jù)發(fā)揮客戶端,客戶端通過瀏覽器即可查看該信息。如圖:從深層次上看,Web Service是一種新的Web應(yīng)用程序分支,它們是自包含、自描述、模塊化的應(yīng)用,可以在網(wǎng)絡(luò)(通常為Web)中被描述、發(fā)布、查找以及通過Web來調(diào)用。 Web Service便是基于網(wǎng)絡(luò)的、分布式的模塊化組件,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得Web Service能與其他兼
11、容的組件進(jìn)行互操作。它可以使用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議,像超文本傳輸協(xié)議HTTP和XML,將功能體現(xiàn)在互聯(lián)網(wǎng)和企業(yè)內(nèi)部網(wǎng)上。Web Service平臺是一套標(biāo)準(zhǔn),主要目標(biāo)是跨平臺的可互操作性。為了達(dá)到這一目標(biāo),WebService完全基于XML(可擴(kuò)展標(biāo)記語言)、XSD(XMLSchema)等獨(dú)立于平臺、獨(dú)立于軟件供應(yīng)商的標(biāo)準(zhǔn),是創(chuàng)建可互操作的、分布式應(yīng)用程序的新平臺。你可以用你喜歡的任何語言,在你喜歡的任何平臺上寫Web Service。1.2 WebService的技術(shù)支持WebService平臺需要一套協(xié)議來實(shí)現(xiàn)分布式應(yīng)用程序的創(chuàng)建。要實(shí)現(xiàn)互操作性,平臺無關(guān)性,Web Service平臺必須提供
12、一套標(biāo)準(zhǔn)的類型系統(tǒng),用于溝通不同平臺、編程語言和組件模型中的不同類型系統(tǒng)。目前這些協(xié)議有:1.2.1 XML和XSDXML是可擴(kuò)展的標(biāo)記語言,是Web Service平臺中表示數(shù)據(jù)的基本格式。其易于建立、易于分析和平臺無關(guān)。XML是由萬維網(wǎng)協(xié)會(W3C)創(chuàng)建,W3C制定的XML SchemaXSD 定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,并給出了一種語言來擴(kuò)展這套數(shù)據(jù)類型。XSD是 XML結(jié)構(gòu)定義 ( XML Schemas Definition )。 XML Schema 是DTD的替代品。XML Schema語言也就是XSD。XML Schema描述了XML文檔的結(jié)構(gòu)??梢杂靡粋€指定的XML Schem
13、a來驗(yàn)證某個XML文檔,以檢查該XML文檔是否符合其要求。文檔設(shè)計(jì)者可以通過XML Schema指定一個XML文檔所允許的結(jié)構(gòu)和內(nèi)容,并可據(jù)此檢查一個XML文檔是否是有效的。XML Schema本身是一個XML文檔,它符合XML語法結(jié)構(gòu)。可以用通用的XML解析器解析。Web Service平臺是用XSD來作為數(shù)據(jù)類型系統(tǒng)的。當(dāng)用某種語言如Java、VB.NET或C# 來構(gòu)造一個Web Service時,為了符合Web Service標(biāo)準(zhǔn),所使用的數(shù)據(jù)類型都必須被轉(zhuǎn)換為XSD類型。并使用SOAP協(xié)議使其在不同平臺和不同軟件的不同組織間傳遞。1.2.2 SOAP協(xié)議SOAP(Simple Obje
14、ct Access Protocol)即簡單對象訪問協(xié)議,用于交換XML編碼信息的輕量級協(xié)議。主要有三個方面:XML-envelope為描述信息內(nèi)容和如何處理內(nèi)容定義了框架,將程序?qū)ο缶幋a成為XML對象的規(guī)則,執(zhí)行遠(yuǎn)程過程調(diào)用(RPC)的約定。SOAP可以運(yùn)行在任何其他傳輸協(xié)議上。例如,可以使用 SMTP(簡單郵件傳輸協(xié)議)來傳遞SOAP消息。在傳輸層之間的頭是不同的,但XML的有效負(fù)載保持相同。簡單對象訪問協(xié)議(SOAP)是一種輕量的、簡單的、基于 XML 的協(xié)議,它被設(shè)計(jì)成在 Web 上交換結(jié)構(gòu)化的和固化的信息。 SOAP可以和現(xiàn)存的許多因特網(wǎng)協(xié)議和格式結(jié)合使用,包括超文本傳輸協(xié)議( HT
15、TP),簡單郵件傳輸協(xié)議(SMTP),多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)。還支持從消息系統(tǒng)到遠(yuǎn)程過程調(diào)用(RPC)等大量的應(yīng)用程序。 SOAP 包括三個部分: SOAP 封裝:它定義了一個框架 , 該框架描述了消息中的內(nèi)容是什么,誰應(yīng)當(dāng)處理它以及它是可選的還是必須的。 SOAP 編碼規(guī)則:它定義了一種序列化的機(jī)制,用于交換應(yīng)用程序所定義的數(shù)據(jù)類型的實(shí)例。 SOAP RPC 表示:它定義了用于表示遠(yuǎn)程過程調(diào)用和應(yīng)答的協(xié)定。 SOAP 消息基本上是從發(fā)送端到接收端的單向傳輸,但它們常常結(jié)合起來執(zhí)行類似于請求 / 應(yīng)答的模式。所有的 SOAP 消息都使用 XML 編碼。一條 SOAP 消息就是一個包
16、含有一個必需的 SOAP 的封裝包,一個可選的 SOAP 標(biāo)頭和一個必需的 SOAP 體塊的 XML 文檔。 把SOAP綁定到 HTTP 提供了同時利用 SOAP 的樣式和分散的靈活性的特點(diǎn)以及 HTTP 的豐富的特征庫的優(yōu)點(diǎn)。在 HTTP 上傳送 SOAP 并不是說 SOAP 會覆蓋現(xiàn)有的 HTTP 語義,而是 HTTP上的SOAP語義會自然的映射到 HTTP語義。在使用 HTTP 作為協(xié)議綁定的場合中, RPC 請求映射到 HTTP 請求上,而 RPC 應(yīng)答映射到 HTTP 應(yīng)答。然而,在 RPC 上使用 SOAP 并不僅限于 HTTP 協(xié)議綁定。在本系統(tǒng)中,采用的是基于SOAP協(xié)議的直接
17、的Webservice的調(diào)用。1.2.3 UDDI UDDI(Universal Description, Discovery and Integration)統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議,是為解決Web服務(wù)的發(fā)布和發(fā)現(xiàn)問題而制訂的新一代基于Internet的電子商務(wù)技術(shù)標(biāo)準(zhǔn)。它包含一組基于Web的、分布式的Web服務(wù)信息注冊中心的實(shí)現(xiàn)標(biāo)準(zhǔn),以及一組使企業(yè)能將自己提供的Web服務(wù)注冊到該中心的實(shí)現(xiàn)標(biāo)準(zhǔn)。UDDI 的目的是為電子商務(wù)建立標(biāo)準(zhǔn);UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web Service注冊,
18、以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。在用戶能夠調(diào)用Web服務(wù)之前,必須確定這個服務(wù)內(nèi)包含哪些商務(wù)方法,找到被調(diào)用的接口定義,還要在服務(wù)端來編制軟件。UDDI (Universal Description, Discovery, and Integration) 是一個主要針對Web服務(wù)供應(yīng)商和使用者的新項(xiàng)目。UDDI 項(xiàng)目中的成員可以通過UDDI Business Registry (UBR)來操作Web服務(wù)的調(diào)用,UBR是一個全球性的服務(wù)。Web服務(wù)供應(yīng)商可以在UBR中描述并且注冊他們的服務(wù)。用戶可以在UBR中查找并定位他們所需要的服務(wù)。UDDI是一種根據(jù)描述文檔來引導(dǎo)系統(tǒng)查找相應(yīng)服務(wù)
19、的機(jī)制。UDDI利用SOAP消息機(jī)制(標(biāo)準(zhǔn)的XML/HTTP)來發(fā)布、編輯,瀏覽以及查找注冊信息。采用XML格式來封裝各種不同類型的數(shù)據(jù),并且發(fā)送到注冊中心或者由注冊中心來返回需要的數(shù)據(jù)。1.2.4 WSDLWeb Service描述語言WSDL 就是用機(jī)器能閱讀的方式提供的一個正式描述文檔而基于XML的語言,用于描述Web Service及其函數(shù)、參數(shù)和返回值。因?yàn)槭腔赬ML的,所以WSDL既是機(jī)器可閱讀的,又是人可閱讀的。WSDL在UDDI中總是作為一個接口描述文檔。因?yàn)閁DDI是一個通用的用來注冊WSDL規(guī)范的地方,UDDI的規(guī)范并不限制任何類型或者格式描述文檔。這些文檔可能是一個WS
20、DL文檔,或者是一個正規(guī)的包含導(dǎo)向文檔的Web頁面,也可能只是一個包含聯(lián)系信息的電子郵件地址?,F(xiàn)在Java提供了一個 Java API for WSDL (JWSDL)規(guī)范。WSDL提供了一套能快速處理WSDL文檔的方法,并且不用直接對XML文檔進(jìn)行操作,它會比JAXP更方便,更快速。1.2.5遠(yuǎn)程過程調(diào)用RPC與消息傳遞Web Service本身其實(shí)是在實(shí)現(xiàn)應(yīng)用程序間的通信?,F(xiàn)在有兩種應(yīng)用程序通信的方法:RPC遠(yuǎn)程過程調(diào)用和消息傳遞。RPC遠(yuǎn)程過程調(diào)用,客戶端的概念是調(diào)用服務(wù)器上的遠(yuǎn)程過程,通常方式為實(shí)例化一個遠(yuǎn)程對象并調(diào)用其方法和屬性。RPC系統(tǒng)試圖達(dá)到一種位置上的透明性:服務(wù)器暴露出遠(yuǎn)程
21、對象的接口,而客戶端就好像在本地使用的這些對象的接口一樣,這樣就隱藏了底層的信息,客戶端也就根本不需要知道對象是在哪臺機(jī)器上。2 當(dāng)前Webservice開發(fā)技術(shù)2.1 微軟.NET 微軟的.NET技術(shù)應(yīng)該算是現(xiàn)在最為流行的Web Service 開發(fā)技術(shù)。首先因?yàn)槠涔驹谝郧跋鄳?yīng)的產(chǎn)品就占有相當(dāng)大的市場份額,以至使新推出的.NET得以有比較穩(wěn)定的用戶群;其次也是更重要的是 .NET平臺不僅延續(xù)了微軟一貫的編程風(fēng)格,而且還增加了許多支持Web 服務(wù)的關(guān)鍵性技術(shù),使得.NET在操作的簡單性和執(zhí)行的穩(wěn)定性,高效性上達(dá)到了一個非常好的結(jié)合。 微軟的Visual Studio.NET便是一個便于 We
22、b 服務(wù)的開發(fā)工具。微軟的目標(biāo)是,將其新編程語言C#作為Web Service的首選語言。雖然C#看起來與Java類似,但是還有一些Java中沒有的獨(dú)特的功能。.NET技術(shù)中用于Web Service 開發(fā)的主要工具是ASP.NET。ASP 提供了一些超出ASP以前版本的優(yōu)點(diǎn)(例如:代碼和HTML的分離,支持C#語言等)。2.2 Sun的Java WSDP針對開發(fā)Web Services程序的需求,Sun推出了Java Web Services Developer Pack,簡稱Java WSDP。隨著1.2版本的發(fā)布,Java開發(fā)人員現(xiàn)在可以擁有一個方便的、集所有功能于一身的開發(fā)包,用來幫助
23、在Java平臺上開發(fā)Web服務(wù)。Java WSDP包含Java XML Pack中的所有用于XML的Java API(Java APIs for XML(JAX),還包含有Apache Tomcat服務(wù)器以及為開發(fā)與測試Web服務(wù)提供一個功能完備的環(huán)境所需的其他組件。Java WSDP Registry Server (UDDI Server)。2.3 IBM的WebSphereIBM公司是業(yè)界第一家能夠提供全面支持Web服務(wù)的電子商務(wù)基礎(chǔ)設(shè)施中間件的公司。通過多年來與W3C(The World Wide Web Consortium)的共同努力,包括DB2、Lotus、Tivoli 和Web
24、Sphere在內(nèi)的所有IBM軟件都實(shí)現(xiàn)了對SOAP、WSDL、UDDI、Linux、XML、J2EE等開放技術(shù)和標(biāo)準(zhǔn)的全面支持。IBM公司的WebSphere也是比較好的基礎(chǔ)架構(gòu)軟件開發(fā)平臺。WebSphere軟件平臺及開發(fā)工具包括WSAD (WebSphere Studio Application Developer) 基于J2EE、XML 和Web服務(wù)等開放標(biāo)準(zhǔn),并具備 IBM 在可靠性、擴(kuò)展性和安全性上的主要優(yōu)勢。WebSphere 是 IBM 在 Web Services策略中的核心平臺,它支持所有開發(fā)、發(fā)布、部署 Web Services應(yīng)用所必需的開放標(biāo)準(zhǔn)和技術(shù),包括 UDDI,S
25、OAP,J2EE,WSDL,和對 XML 技術(shù)集成的增強(qiáng),這特使得它在全球有很多用戶。2.4 ApAche的AxisAxis本質(zhì)上就是一個SOAP引擎,提供創(chuàng)建服務(wù)器端、客戶端和網(wǎng)關(guān)SOAP操作的基本框架。Axis目前版本是為Java語言。Axis是Eclipse下的Lomboz插件。3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)在實(shí)際Webservice項(xiàng)目開發(fā)中,分為Webservice服務(wù)發(fā)布端和客戶端開發(fā),由于本系統(tǒng)的主要是基于Internet上已發(fā)布的Webservice服務(wù)的客戶端開發(fā),因此本章主要介紹客戶端的開發(fā)過程,有關(guān)Webservice服務(wù)發(fā)布端的開發(fā),將使用ApAche的Axis2來進(jìn)行發(fā)布。3.1
26、服務(wù)發(fā)布端Axis2配置3.1.1搭建axis2環(huán)境將axis2.war包拷到Tomcat根目錄webapps目錄下,然后啟動Tomcat,訪問http:/localhost:8080/axis2/ ,顯示Axis2歡迎頁面,則axis2已經(jīng)部署成功 。3.1.2生成wsdl文件將axis2的lib拷入項(xiàng)目的lib文件夾下,在build.xml的Outline視圖中右鍵生成wsdl,并按要求修改wsdl文件,如生成的客戶端或服務(wù)端的類名等。3.1.3生成server端的.java文件在build.xml的Outline視圖中右鍵generate.service,控制臺顯示build succe
27、ssful后會生成對應(yīng)的一些service提供類。3.1.4生成server端的.java文件在build.xml的Outline視圖中右鍵aar.service,生成service提供類的aar文件,啟動tomcat服務(wù)器,然后在瀏覽器中訪問:http:/localhost:8090/axis2/,選擇左側(cè)的Tools中的上傳 Service,選擇剛生成的aar文件,則服務(wù)端的webservice服務(wù)發(fā)布完成。3.2 客戶端設(shè)計(jì)與實(shí)現(xiàn)3.2.1搭建項(xiàng)目架構(gòu)在Eclipse下建立一個web項(xiàng)目,將axis相關(guān)開發(fā)包拷到項(xiàng)目目錄中。項(xiàng)目目錄結(jié)構(gòu)如下:3.2.2模塊代碼開發(fā)在weather包下建立
28、GetCityWeather將Action類,作為天氣預(yù)報(bào)查詢服務(wù)的servlet處理類,該類將調(diào)用business包下的WeatherService 類的業(yè)務(wù)處理方法,該方法通過SOAP協(xié)議調(diào)用服務(wù)器端的webservice服務(wù),得到服務(wù)器端的查詢結(jié)果數(shù)據(jù)。GetCityWeather類的接口函數(shù)如下:public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException String provice = req.getParameter(provinc
29、e1);/查詢的省份名字String city=req.getParameter(city1);/獲取查詢城市的名字System.out.println(輸出參數(shù):*:?。?provice+市:+city);List weatherList = WeatherService.getWeatherService(provice,city);PrintWriter pw=resp.getWriter();if(weatherList != null & weatherList.size()=0)for (String weather : weatherList) pw.println(+ weat
30、her+); else pw.println(+沒有查到你要的城市!請確認(rèn)您的查詢條件!+); WeatherService類的接口函數(shù)如下: /* * 獲得SOAP協(xié)議發(fā)回?cái)?shù)據(jù)流 * param url 服務(wù)器端url * return */ public static InputStream getSoapInputStream(String url) /* * 服務(wù)調(diào)用接口函數(shù) * param provinceName * param cityName * return */ public static List getWeatherService(String provinceName
31、,String cityName)3.2.3 WSDL文件分析在瀏覽器中輸入 HYPERLINK /WebServices/ /WebServices/ WeatherWS.asmx?wsdl,查看WSDL文件的借口描述,會看到如下內(nèi)容,從這里找到調(diào)用webserviceAPI借口函數(shù),如圖:3.2.4解析XML數(shù)據(jù)文件在客戶端接收到服務(wù)器端通過SOAP協(xié)議發(fā)回的XML數(shù)據(jù)文件,根據(jù)借口說明文件,來解析XML文件,將解析出來的服務(wù)器端數(shù)據(jù)顯示出來。在瀏覽器中輸入: HYPERLINK /WebServices/ /WebServices/ WeatherWS.asmx查看接口文件,接口描述文件
32、如圖:點(diǎn)擊上圖的getWeather,然后點(diǎn)擊“調(diào)用”,看一看到服務(wù)器端發(fā)回的XML文件的格式如下: HYPERLINK /WebServices/WeatherWS.asmx/getWeather l # - 直轄市 上海 上海 2013 2010/02/01 20:16:40 今日天氣實(shí)況:氣溫:7.8;風(fēng)向/風(fēng)力:西北風(fēng) 小于3級;濕度:66%;氣壓:1022.9hPa 空氣質(zhì)量:良;紫外線強(qiáng)度:最弱 穿衣指數(shù):天氣涼,建議著厚外套加毛衣等春秋服裝。年老體弱者宜著大衣、呢外套加羊毛衫。感冒指數(shù):相對于今天將會出現(xiàn)大幅度降溫,易發(fā)生感冒,注意增加衣服,加強(qiáng)自我防護(hù)避免感冒。晨練指數(shù):早晨天
33、氣寒冷,風(fēng)力稍大,請盡量避免戶外晨練,若堅(jiān)持戶外晨練請注意保暖防凍。洗車指數(shù):不宜洗車,未來24小時內(nèi)有雨,如果在此期間洗車,雨水和路上的泥水可能會再次弄臟您的愛車。晾曬指數(shù):天氣晴朗,午后溫暖的陽光仍能滿足你驅(qū)潮消霉殺菌的晾曬需求。旅游指數(shù):天空狀況還是比較好的,但溫度稍微有點(diǎn)低,且風(fēng)稍大,會讓您感覺些許涼意。外出請注意防風(fēng)。路況指數(shù):晴天,其它條件適宜,路面比較干燥,路況較好。舒適度指數(shù):白天天氣晴好,但仍會使您感覺偏冷,不很舒適,請注意適時添加衣物,以防感冒。 2月2日 小雨 2/6 東北風(fēng)3-4級轉(zhuǎn)東風(fēng)3-4級 7.gif 7.gif 2月3日 小雨轉(zhuǎn)陰 2/5 東風(fēng)3-4級 7.gi
34、f 2.gif 2月4日 小雨 5/6 東北風(fēng)3-4級 7.gif 7.gif 2月5日 陰轉(zhuǎn)小雨 7/8 東風(fēng)3-4級轉(zhuǎn)東南風(fēng)3-4級 2.gif 7.gif 2月6日 小雨 7/9 東南風(fēng)3-4級 7.gif 7.gif 根據(jù)上面的XML文件的格式,客戶端的解析程序的核心算法代碼段如下:public static List getWeather(int cityCode) List weatherList = new ArrayList(); Document doc; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInsta
35、nce(); dbf.setNamespaceAware(true); try DocumentBuilder db = dbf.newDocumentBuilder();InputStream is = getSoapInputStream(WEATHER_QUERY_URL + cityCode);doc = db.parse(is);NodeList nl = doc.getElementsByTagName(string);int len = nl.getLength();for (int i = 0; i len; i+) Node n = nl.item(i); String we
36、ather = n.getFirstChild().getNodeValue(); weatherList.add(weather);is.close(); catch (UnsupportedEncodingException e) e.printStackTrace(); catch (DOMException e) e.printStackTrace(); catch (ParserConfigurationException e) e.printStackTrace(); catch (SAXException e) e.printStackTrace(); catch (IOExce
37、ption e) e.printStackTrace(); return weatherList; 通過getWeather算法將服務(wù)器端的XML數(shù)據(jù)文件解析出來,然后顯示數(shù)據(jù)到客戶端瀏覽器。其他webservice服務(wù)采用了相同的程序流程來進(jìn)行處理。3.3系統(tǒng)測試流程3.3.1部署系統(tǒng)測試環(huán)境參考前面“項(xiàng)目部署與測試說明”章節(jié),將系統(tǒng)部署在jdk1.5 + tomcat5.5的測試環(huán)境中。啟動tomcat,在瀏覽器中輸入: HYPERLINK http:/localhost:8090/webservicetest/ http:/localhost:8090/webservicetest/,進(jìn)入系統(tǒng)主頁面,如圖:3.3.2 HYPERLINK http:/localhost:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年常德c1貨運(yùn)從業(yè)資格證考試內(nèi)容
- 兒童桌子采購合同范本
- 鄉(xiāng)鎮(zhèn)飯店轉(zhuǎn)讓合同范本
- 公司房租轉(zhuǎn)租合同范本
- 倉庫裝修合同范本版
- 上海廠房出售合同范本
- 茶器定制合同范本
- 中標(biāo)咨詢合同范本
- 農(nóng)村訂購混泥土合同范本
- 代理代工合同范本
- 2024年輔警招聘考試試題庫附參考答案(綜合題)
- 小學(xué)數(shù)學(xué)主題活動設(shè)計(jì)一年級《歡樂購物街》
- 一年級口算天天練1(打印版)
- 垃圾發(fā)電廠汽機(jī)培訓(xùn)
- 村情要素模板
- 高考作文標(biāo)準(zhǔn)方格紙-A4-可直接打印
- 護(hù)理分級標(biāo)準(zhǔn)
- 水池維修改造方案
- 國網(wǎng)陜西省電力有限公司高校畢業(yè)生招聘考試試題及答案
- 非公司企業(yè)法人章程范本樣本
- 《高溫熔融金屬吊運(yùn)安全規(guī)程》(AQ7011-2018)
評論
0/150
提交評論