版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第14章WebService應(yīng)用
基于SOAP協(xié)議的訂單查詢(xún)214.1Soap簡(jiǎn)介 Soap〔SimpleObjectAccessProtocol〕,是一種基于XML的協(xié)議。利用Soap協(xié)議,有助于實(shí)現(xiàn)跨平臺(tái)、與特定接口無(wú)關(guān)的分布式系統(tǒng)。 Soap是實(shí)現(xiàn)Webservice的一種技術(shù),Soap是一種簡(jiǎn)單的、靈活的第二代XML協(xié)議標(biāo)準(zhǔn),是一種基于XML普遍使用的分布式計(jì)算根底結(jié)構(gòu)標(biāo)準(zhǔn),是一種利用XML解決數(shù)據(jù)交換問(wèn)題、適合構(gòu)建分布式結(jié)構(gòu)系統(tǒng)的技術(shù)。Soap建立在XML之上,利用XML實(shí)現(xiàn)Web效勞。3Soap機(jī)制
通信單元封裝機(jī)制:Soap中,所有信息都會(huì)封裝在一個(gè)可確認(rèn)的Soap消息包,包中可以有任意數(shù)目的消息頭和一個(gè)消息體,消息體中可以存放任何格式的XML文檔,消息頭用來(lái)存放除消息體之外的信息。錯(cuò)誤處理機(jī)制:Soap可以診斷錯(cuò)誤源和錯(cuò)誤原因,并且允許將錯(cuò)誤信息在交互這之間共享。擴(kuò)展機(jī)制:借助于XML模式和名字空間,Soap的演進(jìn)也將無(wú)障礙、無(wú)約束。目前,Soap典型的擴(kuò)展是通過(guò)Soap的消息頭實(shí)現(xiàn),利用這個(gè)特性,可以再Soap上構(gòu)建一個(gè)更為復(fù)雜的系統(tǒng)。4
數(shù)據(jù)表示機(jī)制:Soap提供了以XML格式表示根本數(shù)據(jù)類(lèi)型這樣的抽象的數(shù)據(jù)結(jié)構(gòu)的規(guī)那么,也提供了允許數(shù)據(jù)對(duì)象以某種形式序列化后進(jìn)行交換的規(guī)那么。遠(yuǎn)程過(guò)程調(diào)用〔RPC〕和Soap消息響應(yīng)機(jī)制。RPC是最常用的分布式計(jì)算遠(yuǎn)程調(diào)用,Soap支持RPC的遠(yuǎn)程調(diào)用方式,并以Soap消息作為RPC調(diào)用的響應(yīng),在編程方式上提供了靈活性。以文檔為中心的機(jī)制:以文檔為中心的XML更加符合商務(wù)交互中的數(shù)據(jù)模型,Soap提供了以文檔為中心的方法,有利于商務(wù)間的數(shù)據(jù)交換,彌補(bǔ)了RPC在某些個(gè)面的缺乏?;贖TTP協(xié)議的機(jī)制:HTTP是應(yīng)用最為廣泛的協(xié)議之一。Soap提供了對(duì)HTTP非常好的支持。但并不是說(shuō)Soap只能應(yīng)用于HTTP之上,Soap支持任何開(kāi)放的通信協(xié)議。在HTTP協(xié)議上的應(yīng)用非常廣泛。514.2WebService:
WebService是一種接口,它對(duì)外提供一組操作,利用網(wǎng)絡(luò),通過(guò)使用標(biāo)準(zhǔn)的XML傳遞技術(shù)來(lái)訪(fǎng)問(wèn)這個(gè)接口。WebService并不是必須存在于WWW之上,同樣可以架設(shè)在任何開(kāi)放的互聯(lián)網(wǎng)協(xié)議〔如HTTP、SMTP、FTP等〕和專(zhuān)網(wǎng)〔EDI〕上。WebService的實(shí)現(xiàn)與調(diào)用該效勞的客戶(hù)端無(wú)關(guān)。調(diào)用WebService的客戶(hù)端完全不需要知道WebService的實(shí)現(xiàn)細(xì)節(jié)和平臺(tái)特性,只要知道WebService對(duì)外聲明的接口。614.3XML
XML〔eXtensiibleMarkupLanguage〕
是一種具有數(shù)據(jù)描述功能,高度結(jié)構(gòu)性及可驗(yàn)證行的語(yǔ)言。XMLstandsforEXtensibleMarkupLanguage
XMLisamarkuplanguagemuchlikeHTML
XMLwasdesignedtodescribedata
XMLtagsarenotpredefined.Youmustdefineyourowntags
XMLusesaDocumentTypeDefinition(DTD)oranXMLSchematodescribethedata
XMLwithaDTDorXMLSchemaisdesignedtobeself-descriptive
XMLisaW3CRecommendation
714.4.搭建SOAP開(kāi)發(fā)環(huán)境
ApacheAxis:ApacheAxis是基于Java的最好的Web引擎之一。大多數(shù)情況下,AxisAPI以RPC方式發(fā)出請(qǐng)求,部署在Axis應(yīng)用的WebService也通過(guò)AxisWeb應(yīng)用,以RPC方式回應(yīng)請(qǐng)求。不管是客戶(hù)端還是效勞器端都是通過(guò)Axis進(jìn)行通信的。WebService請(qǐng)求者AxisAPIAxisWeb應(yīng)用WebServiceRPC請(qǐng)求RPC響應(yīng)8
Axis體系結(jié)構(gòu)
9
〔1〕下載安裝包: 1〕Axis安裝包 2〕XML分析器軟件包 3〕JavaMailAPI 4〕JavaBeansActivationFramework軟件包Tomcat中安裝Axis10
〔2〕在Tomcat中部署Asxis 解壓下載的Axis軟件包,把webapps文件夾下 的axis文件夾復(fù)制到Tomcat的webapps文件夾 下,完成Axis部署?!?〕設(shè)置系統(tǒng)classpath環(huán)境變量: axis文件夾下有8個(gè)jar包,全部添加到系統(tǒng) classpath環(huán)境變量中。11
〔4〕在axis中藥添加的jar包: 將Xerces的軟件包xercesImpl.jar、 xercesSamples.jar、xmlapis.jar和 xmlAPIs.jar拷貝到 axis/WEBINF/lib文件 夾下。 通過(guò)這些包,Axis可以解析XML。 假設(shè)要使用JWS,還要添加tools.jar。 JWS是Axis中的JavaWebService工具,可 以自動(dòng)尋找和編譯axis下webapps目錄中的 Java文件,并部署它。1213
〔5〕在JDK中參加的jar包: 將JavaMaiAPI中的mail.jar和JavaBeans ActivationFramework軟件包中的activation.jar 復(fù)制到JAVA_HOME/jre/ext文件夾中。Tomcat 在啟動(dòng)時(shí)會(huì)加載這兩個(gè)jar包。Mail.jara實(shí)現(xiàn) JavaMailAPI,在處理帶附件的Soap消息時(shí)發(fā)揮 作用,activation.jar包實(shí)現(xiàn)激活JavaBeans的功 能,在處理數(shù)據(jù)對(duì)象時(shí)發(fā)揮作用。 測(cè)試:如在瀏覽器中鍵入地址: ://localhoast:8080/axis/ 出現(xiàn)下面的頁(yè)面即告Axis配置成功。14
15
14.5AxiswebService程序例:
HelloWorldWebServicesayHelloWorld(Stringname)twoAdd(intx,inty)Client16
編寫(xiě)
WebService:
HelloWolrd.JavapublicclassHelloWorld{ publicStringsayHelloWorld(Stringname) { returnname+”Hello,world!”; } punlicinttwoAdd(intx,inty) { return(x+y); }}17部署WebService:
HelloWolrd.Java更名為HelloWorld.jws,并復(fù)制到
Tomcat../webapps/axis文件夾下。
在瀏覽器中鍵入地址::8080/axis/HelloWorld.jws1819
點(diǎn)擊ClicktoseetheWSDL〔WebServicesDescriptionLanguage〕20
WSDL文件21容器自動(dòng)編譯:在jwsClasses路徑下。22
〔2〕編寫(xiě)客戶(hù)端代碼:?jiǎn)?dòng)myEclipse,建立一個(gè)Java工程,引入Java包:axis.jar、、、jaxrpc.jar.建立一個(gè)類(lèi)TestClient.java23import;import;publicclassTestClient{ publicvoiddoTest(Stringname)throwsException { //效勞所在位置 Stringurl="://localhost:8080/axis/HelloWorld.jws"; Serviceservice=newService();//創(chuàng)立一個(gè)Service實(shí)例 Callcall=(Call)service.createCall();//創(chuàng)立Call實(shí)例 //為Call設(shè)置效勞的位置 call.setTargetEndpointAddress(new.URL(url)); //設(shè)置提供效勞的方法 call.setOperationName("sayHelloWorld"); //調(diào)用效勞并獲得結(jié)果,這里返回String Stringres=(String)call.invoke(newObject[]{name}); System.out.println(res); }
24publicvoiddoAdd(intx,inty)throwsException{ Stringurl= "://localhost:8080/axis/HelloWorld.jws"; Serviceservice=newService(); Callcall=(Call)service.createCall(); call.setTargetEndpointAddress(new .URL(url)); call.setOperationName("twoAdd");intres=(Integer)call.invoke(newInteger[]{x,y}); System.out.println(res); }
25
public
static
voidmain(String[]args)throws Exception { TestClienttest=newTestClient(); test.doTest("鄒立杰\t"); test.doAdd(100,200); }}
26
基于SOAP協(xié)議WEBService應(yīng)用的訂單查詢(xún)
〔1〕系統(tǒng)架構(gòu)Ind
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《園林樹(shù)木》課程標(biāo)準(zhǔn)
- 2BizBoxERP用戶(hù)基礎(chǔ)手冊(cè)
- 三角形的翻折課件
- 第1單元 古代亞非文明(高頻選擇題50題)(原卷版)
- 2024年農(nóng)業(yè)和農(nóng)村檔案工作總結(jié)
- 七年級(jí)下《保護(hù)野生動(dòng)物》蘇教版-課件
- 農(nóng)業(yè)科創(chuàng):研發(fā)力量展示
- 機(jī)場(chǎng)服務(wù)行業(yè)銷(xiāo)售工作總結(jié)
- 資金借貸合同個(gè)人醫(yī)療保健費(fèi)用貸款支出租賃保險(xiǎn)三篇
- 初一生物教學(xué)工作總結(jié)實(shí)踐探索培養(yǎng)動(dòng)手能力
- 2024年血透管路行業(yè)技術(shù)趨勢(shì)分析
- 美術(shù)年終總結(jié)匯報(bào)
- 數(shù)字孿生技術(shù)與MES系統(tǒng)的融合
- 人才梯隊(duì)(人才庫(kù)、人才盤(pán)點(diǎn))建設(shè)方案
- 廣西柳州市2023-2024學(xué)年四年級(jí)上學(xué)期期末考試語(yǔ)文試卷
- 《芯片制造工藝》課件
- 中山大學(xué)研究生中特考試大題
- 手術(shù)室護(hù)理實(shí)踐指南術(shù)中低體溫預(yù)防
- 鋼管混凝土柱計(jì)算
- 四川省成都市2022-2023學(xué)年六年級(jí)上學(xué)期語(yǔ)文期末考試試卷(含答案)5
- 違規(guī)建筑綜合整頓行動(dòng)方案(二篇)
評(píng)論
0/150
提交評(píng)論