已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
最近做的項(xiàng)目都是同webService有關(guān)的,自然就要關(guān)心一下webservice方面的資源。/webservice/Weather.asmx?op=getWeather 是一個(gè)天氣預(yù)報(bào)的webservice,從它的輸出結(jié)果來(lái)看天氣數(shù)據(jù)應(yīng)該來(lái)自中央氣象局的問(wèn)天網(wǎng)/ 不過(guò)這方面就不用再多關(guān)心了,我們關(guān)心的是怎樣調(diào)用這個(gè)webservice。首先登錄/webservice/Weather.asmx?op=getWeather。可以看到如下的SOAP信息請(qǐng)求:以下內(nèi)容為程序代碼:POST/webservice/Weather.asmxhttp/1.1Host:Content-Type:text/xml;charset=utf-8Content-Length:lengthSOAPAction:/getWeatherstring把XML部分全部復(fù)制下來(lái)創(chuàng)建一個(gè)XML文件(普通的文本文件也可以),為了以后編程方便,把以下內(nèi)容為程序代碼:.string.改成以下內(nèi)容為程序代碼:.city.以weathersoap.xml保存在以后生成的類的同一目錄。響應(yīng):以下內(nèi)容為程序代碼:http/1.1200OKContent-Type:text/xml;charset=utf-8Content-Length:lengthstring這里的 getWeatherResult 這個(gè)就是要被調(diào)用的方法的名字在后面對(duì)XML的解釋要用到響應(yīng)部分的XML描述接下就開(kāi)始寫(xiě)代碼了。以下內(nèi)容為程序代碼:packagejaqcy.weatherreport.client;importjava.io.*;.*;importjavax.xml.parsers.*;importorg.w3c.dom.*;/*/*authorjaqcy*/publicclassWeatherReportprivatestaticStringgetSoapRequest(Stringcity)/city為要查詢天氣的城市名tryClasscls=Object.class;InputStreamReaderisr=newInputStreamReader(cls.getResourceAsStream(/jaqcy/weatherreport/client/weathersoap.xml));/讀取存在weathersoap的SOAP信息BufferedReaderreader=newBufferedReader(isr);Stringsoap=;Stringtmp;while(tmp=reader.readLine()!=null)soap+=tmp;reader.close();isr.close();/如果有多個(gè)參數(shù) 可以連續(xù)replacereturnsoap.replace(city,city);/用傳入的參數(shù)city替換原來(lái)的citycatch(Exceptionex)ex.printStackTrace();returnnull;/*/*返回InputStream是因?yàn)閣3cDOM中Document的parse方法可*以接受InputStream類型的參數(shù),方面在下一步對(duì)XML的解釋*/privatestaticInputStreamgetSoapInputStream(Stringcity)throwsExceptiontryStringsoap=getSoapRequest(city);if(soap=null)returnnull;URLurl=newURL(/webservice/Weather.asmx);URLConnectionconn=url.openConnection();conn.setUseCaches(false);conn.setDoInput(true);conn.setDoOutput(true);conn.setRequestProperty(Content-Length,Integer.toString(soap.length();conn.setRequestProperty(Content-Type,text/xml;charset=utf-8);conn.setRequestProperty(SOAPAction,/getWeather);OutputStreamos=conn.getOutputStream();OutputStreamWriterosw=newOutputStreamWriter(os,utf-8);osw.write(soap);osw.flush();osw.close();InputStreamis=conn.getInputStream();returnis;catch(Exceptione)e.printStackTrace();returnnull;/*/*用W3CDOM對(duì)返回的XML進(jìn)行解釋*/publicstaticStringgetWeather(Stringcity)tryDocumentdoc;DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();dbf.setNamespaceAware(true);DocumentBuilderdb=dbf.newDocumentBuilder();InputStreamis=getSoapInputStream(city);doc=db.parse(is);/方法的名字 getWeatherResultNodeListnl=doc.getElementsByTagName(getWeatherResult);Noden=nl.item(0);Stringweather=n.getFirstChild().getNodeValue();is.close();returnweather;catch(Exceptione)e.printStackTrace();returnnull;寫(xiě)個(gè)main方法檢驗(yàn)一下結(jié)果以下內(nèi)容為程序代碼: publicstaticvoidmain(Stringargs)throwsExceptionSystem.out.println(WeatherReport.getWeather(珠海));結(jié)果如下以下內(nèi)容為程序代碼:城市=珠海,日期=402-403,圖1=/images/a1.gif,圖2=/images/00.gif,天氣=多云,溫度=28
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年中國(guó)鑲鉆皮帶數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 測(cè)量的實(shí)習(xí)報(bào)告-15篇
- 2025版股權(quán)質(zhì)押擔(dān)保及處置服務(wù)協(xié)議3篇
- 2024年高層建筑鋼結(jié)構(gòu)施工合同
- 2024至2030年中國(guó)舞臺(tái)柱型噴泉煙花數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024年電子借條范本:借款協(xié)議
- 2024年項(xiàng)目借款協(xié)議樣本
- 2024至2030年中國(guó)液壓雙長(zhǎng)軸旋切機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年度消防工程設(shè)計(jì)及消防安全評(píng)估咨詢培訓(xùn)合同(消防咨詢公司)3篇
- 二零二五年度OEM工業(yè)自動(dòng)化設(shè)備制造合同
- 2025年遼寧省大連市普通高中學(xué)業(yè)水平合格性考試模擬政治試題(一)
- 2024版戶外廣告牌安裝與維護(hù)服務(wù)合同2篇
- 云南省昆明市五華區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 安徽省淮北市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)部編版期末考試((上下)學(xué)期)試卷及答案
- 當(dāng)代中國(guó)外交(外交學(xué)院)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋外交學(xué)院
- 大學(xué)生職業(yè)生涯規(guī)劃
- 干燥綜合征的護(hù)理查房
- 【MOOC】財(cái)務(wù)管理-四川大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2023-2024學(xué)年浙江省杭州市上城區(qū)教科版四年級(jí)上冊(cè)期末考試科學(xué)試卷
- 交通管理扣留車輛拖移保管 投標(biāo)方案(技術(shù)方案)
- 五年級(jí)數(shù)學(xué)上冊(cè)七大重點(diǎn)類型應(yīng)用題
評(píng)論
0/150
提交評(píng)論