前通過傳智的視頻自學了webservice的基本使用,也瞭解到webservice就是一種跨編程語言和跨操作系統平臺的遠程調用技術。 對於這些理論知識在這裡也不再做過多的解釋,本次主要就是記錄與分享使用cxf 框架完成遠程調用氣象局提供的介面,來實現天氣查詢的全過程。 1、項目搭建 * 創建一個ma ...
前通過傳智的視頻自學了webservice的基本使用,也瞭解到webservice就是一種跨編程語言和跨操作系統平臺的遠程調用技術。
對於這些理論知識在這裡也不再做過多的解釋,本次主要就是記錄與分享使用cxf 框架完成遠程調用氣象局提供的介面,來實現天氣查詢的全過程。
1、項目搭建
* 創建一個maven項目(方便引入包的依賴,不需要再去手動的添加包)
* 配置pom.xml 中的依賴
<build>
<plugins>
<!-- 設置jdk版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- 引入cxf框架的依賴 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.2.6</version>
</dependency>
<!-- 引入junit測試包的依賴 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
------------------------------------ 分隔線 -----------------------------------------------
* 引入依賴後需要更新一個maven項目(因為修改了jdk版本,需要更新後才會生效),操作如下:
在maven項目上單擊右鍵 --> maven --> Update Project... (選擇需要更新的maven項目即可)
2、下載wsdl文件
wsdl地址 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
* 如果使用java的話需要將該文件下載下來,因為如果直接在控制台使用wsimport會拋出異常(已經過多次測試)
* 操作步驟:
* 將地址複製到瀏覽器中打開,會出現如下這個頁面
* 同樣的在頁面中單擊右鍵,另存為,然後保存到桌面即可
* 保存到桌面以後,我們需要將這個xml文件引入到我們的項目中來(直接複製進來就可以了)
* 註意:這一點非常重要,我們需要對文件中的內容進行修改,否則將無法解析
首先打開xml文件,然後搜索 <s:element ref="s:schema" /> 如果存在,那麼就直接把他out掉
* 做完後,關閉xml配置文件,找到你需要將將代碼解壓到的目錄(簡單說,就是例如我現在要將代碼解析到我的src/main/java),單擊右鍵選擇 properties,複製location地址
* 然後到控制臺中進入到我們複製的地址
* 確定後,結果如下:
* 解析完成後,再回到我們的項目中來,刷新項目就可以看到生成的代碼
3、 測試
* 創建一個測試類,編寫如下代碼
* 運行測試
---------------------------------------------------------- 分隔線 -------------------------------------------------------
整個簡單的案例到這裡也就結束了,第一次寫博客,寫得不好,還望見諒,後續我也將持續的更新自己在學習中的一些案例。