Java呼叫取得天氣預報WebServices
1、天氣預報web services地址
用瀏覽器開啟此地址,儲存頁面為Weather.xml
2、新建一個java工程 webservices
建立包名 com.test.ws
將Weather.xml複製到src目錄下
3、編寫批處理WSDL-SQUARED.CMD,使用wsdj2java生成客戶端呼叫程式碼
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
-->set AXIS_HOME=D:\axis-1_4
set CLASSPATH=.;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar
java org.apache.axis.wsdl.WSDL2Java -p com.test.ws Weather.xml
首先需要配置AXIS的HOME路徑,後面是指定輸出包名,以及指定wsdl描述檔案,也可以是前面提到的webservice地址Code highlighting produced by Actipro CodeHighlighter (freeware)
-->set AXIS_HOME=D:\axis-1_4
set CLASSPATH=.;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar
java org.apache.axis.wsdl.WSDL2Java -p com.test.ws Weather.xml
4、開啟命令列,切換目錄到工程的src檔案下,輸入WSDL-SQUARED執行批處理檔案
5、重新整理工程,我們可以看到在com.test.ws目錄下生成了很多java程式碼
6、新建測試類
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
-->
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import com.strongit.ws.WeatherWS;
import com.strongit.ws.WeatherWSLocator;
import com.strongit.ws.WeatherWSSoap_PortType;
/**
*
*
*
*
* @author lanjinghui@foxmail.com
* @version 1.0
*/
public class WeatherClient {
/**
* @Description 方法實現功能描述
* @author lanjh 下午10:04:23
* @return void
* @throws 丟擲異常說明
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
WeatherWS weatherWS = new WeatherWSLocator();
try {
WeatherWSSoap_PortType weatherWSSoap_PortType = weatherWS.getWeatherWSSoap();
// String[] provs = weatherWSSoap_PortType.getRegionProvince();
// for(String p : provs){
// System.out.println(p);
// }
//
//
// System.out.println("------------------------------------");
//
//
// String[] citys = weatherWSSoap_PortType.getSupportCityString("江西");
// for(String c : citys){
// System.out.println(c);
// }
System.out.println("------------------------------------");
//南昌,2117
String[] weather = weatherWSSoap_PortType.getWeather("南昌", null);
for(String w : weather){
System.out.println(w);
}
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Code highlighting produced by Actipro CodeHighlighter (freeware)
-->
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import com.strongit.ws.WeatherWS;
import com.strongit.ws.WeatherWSLocator;
import com.strongit.ws.WeatherWSSoap_PortType;
/**
*
Title:
*
Description:
*
Copyright: Copyright (c) Strongit 2011
*
Company:
* @author lanjinghui@foxmail.com
* @version 1.0
*/
public class WeatherClient {
/**
* @Description 方法實現功能描述
* @author lanjh 下午10:04:23
* @return void
* @throws 丟擲異常說明
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
WeatherWS weatherWS = new WeatherWSLocator();
try {
WeatherWSSoap_PortType weatherWSSoap_PortType = weatherWS.getWeatherWSSoap();
// String[] provs = weatherWSSoap_PortType.getRegionProvince();
// for(String p : provs){
// System.out.println(p);
// }
//
//
// System.out.println("------------------------------------");
//
//
// String[] citys = weatherWSSoap_PortType.getSupportCityString("江西");
// for(String c : citys){
// System.out.println(c);
// }
System.out.println("------------------------------------");
//南昌,2117
String[] weather = weatherWSSoap_PortType.getWeather("南昌", null);
for(String w : weather){
System.out.println(w);
}
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
7、執行結果
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
-->- Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
------------------------------------
江西 南昌
南昌
2117
2011/07/13 09:38:13
今日天氣實況:氣溫:26℃;風向/風力:東北風 2級;溼度:82%
空氣質量:良;紫外線強度:中等
穿衣指數:天氣較熱,建議著短裙、短褲、短套裝、T恤等夏季服裝。年老體弱者宜著長袖襯衫和單褲。
感冒指數:各項氣象條件適宜,發生感冒機率較低。但請避免長期處於空調房間中,以防感冒。
運動指數:白天有降水,建議在戶內進行輕度運動。若堅持戶外運動,請選擇合適的運動,並攜帶雨具。
洗車指數:不宜洗車,未來24小時內有雨,如果在此期間洗車,雨水和路上的泥水可能會再次弄髒您的愛車。
晾曬指數:有降水,不適宜晾曬。如果非晾曬不可,請在室內準備出充足的空間。
旅遊指數:有雷陣雨,稍熱,微風,旅遊指數一般,外出請儘量避開雷陣雨時間,若外出,請注意防雷並攜帶雨具。
路況指數:有小雨,路面潮溼,車輛易打滑,請小心駕駛。
舒適度指數:白天雖然有雨,但仍無法削弱較高氣溫帶來的暑意,同時降雨造成溼度加大會您感到有些悶熱,不很舒適。
空氣汙染指數:氣象條件有利於空氣汙染物稀釋、擴散和清除,可在室外正常活動。
紫外線指數:屬中等強度紫外線輻射天氣,外出時建議塗擦SPF高於15、PA+的防曬護膚品,戴帽子、太陽鏡。
7月13日 雷陣雨
26℃/31℃
無持續風向微風
4.gif
4.gif
7月14日 陣雨
26℃/31℃
無持續風向微風
3.gif
3.gif
7月15日 陣雨
26℃/31℃
無持續風向微風
3.gif
3.gif
7月16日 陣雨
26℃/31℃
無持續風向微風
3.gif
3.gif
7月17日 陣雨
26℃/31℃
無持續風向微風
3.gif
3.gif
Code highlighting produced by Actipro CodeHighlighter (freeware)
-->- Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
------------------------------------
江西 南昌
南昌
2117
2011/07/13 09:38:13
今日天氣實況:氣溫:26℃;風向/風力:東北風 2級;溼度:82%
空氣質量:良;紫外線強度:中等
穿衣指數:天氣較熱,建議著短裙、短褲、短套裝、T恤等夏季服裝。年老體弱者宜著長袖襯衫和單褲。
感冒指數:各項氣象條件適宜,發生感冒機率較低。但請避免長期處於空調房間中,以防感冒。
運動指數:白天有降水,建議在戶內進行輕度運動。若堅持戶外運動,請選擇合適的運動,並攜帶雨具。
洗車指數:不宜洗車,未來24小時內有雨,如果在此期間洗車,雨水和路上的泥水可能會再次弄髒您的愛車。
晾曬指數:有降水,不適宜晾曬。如果非晾曬不可,請在室內準備出充足的空間。
旅遊指數:有雷陣雨,稍熱,微風,旅遊指數一般,外出請儘量避開雷陣雨時間,若外出,請注意防雷並攜帶雨具。
路況指數:有小雨,路面潮溼,車輛易打滑,請小心駕駛。
舒適度指數:白天雖然有雨,但仍無法削弱較高氣溫帶來的暑意,同時降雨造成溼度加大會您感到有些悶熱,不很舒適。
空氣汙染指數:氣象條件有利於空氣汙染物稀釋、擴散和清除,可在室外正常活動。
紫外線指數:屬中等強度紫外線輻射天氣,外出時建議塗擦SPF高於15、PA+的防曬護膚品,戴帽子、太陽鏡。
7月13日 雷陣雨
26℃/31℃
無持續風向微風
4.gif
4.gif
7月14日 陣雨
26℃/31℃
無持續風向微風
3.gif
3.gif
7月15日 陣雨
26℃/31℃
無持續風向微風
3.gif
3.gif
7月16日 陣雨
26℃/31℃
無持續風向微風
3.gif
3.gif
7月17日 陣雨
26℃/31℃
無持續風向微風
3.gif
3.gif
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29754888/viewspace-1220275/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- axis WebServices 完美呼叫天氣預報,查詢、顯示 程式碼!Web
- 通過iframe呼叫天氣預報&jsonpJSON
- 實戰CXF呼叫Webxml天氣預報服務WebXML
- 天氣預報apiAPI
- Android呼叫天氣預報的WebService簡單例子AndroidWeb單例
- 中央氣象局天氣預報介面---java實現Java
- php,java獲取天氣預報程式碼PHPJava
- flutter天氣預報APPFlutterAPP
- 天氣預報API介面API
- 天氣預報介面收集
- 中國天氣網免費天氣預報介面APIAPI
- react native天氣預報React Native
- Flutter實踐:天氣預報Flutter
- Delphi天氣預報查詢
- 天氣預報程式碼大全
- 查詢天氣預報網站網站
- Python 獲取當地未來五天天氣 天氣預報 獲取天氣Python
- Android Spinner(級聯 天氣預報)Android
- 5.22 天氣預報系統 小
- 0828-T3 天氣預報
- 天氣預報戰略升級為“新晴天氣”,深耕天氣+出行生活場景
- c#呼叫webservicesC#Web
- Java對接騰訊雲簡訊和阿里雲天氣預報Java阿里
- 天氣預報API,你想要的它都有API
- 基於Qt的天氣預報專案QT
- Mac天氣預報元件:Weather Widget Live for MacMac元件
- 開發chrome外掛入門-天氣預報Chrome
- 天氣預報更名“新晴天氣”,品牌升級助力智慧生活
- 全國天氣預報資訊資料 API 功能簡介與程式碼呼叫實戰視訊API
- 請利用SAX編寫程式解析Yahoo的XML格式的天氣預報,獲取天氣預報——python學習筆記XMLPython筆記
- 天氣預報查詢 API 提供個性化的天氣服務的設計思路API
- 彩雲天氣:用人工智慧,給你打造私人天氣預報員人工智慧
- Cxf - Spring整合呼叫WebServicesSpringWeb
- 天氣預報:2020年春節出行指南
- android JSON解析資料-解析天氣預報AndroidJSON
- [TJOI2010] 天氣預報 題解
- 天氣預報查詢 API + AI 等於王炸(一大波天氣預報查詢 API 應用場景更新了)APIAI
- 使用這個開源工具獲取本地天氣預報開源工具