vjame

          優(yōu)化代碼是無止境的
          隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
          數(shù)據(jù)加載中……

          Java調用取得天氣預報WebServices


          1、天氣預報web services地址
          http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
          用瀏覽器打開此地址,保存頁面為Weather.xml

          2、新建一個java工程 webservices
          建立包名 com.test.ws 
          將Weather.xml拷貝到src目錄下

          3、編寫批處理WSDL-SQUARED.CMD,使用wsdj2java生成客戶端調用代碼
          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  
          -com.test.ws Weather.xml
          首先需要配置AXIS的HOME路徑,后面是指定輸出包名,以及指定wsdl描述文件,也可以是前面提到的webservice地址

          4、打開命令行,切換目錄到工程的src文件下,輸入WSDL-SQUARED執(zhí)行批處理文件

          5、刷新工程,我們可以看到在com.test.ws目錄下生成了很多java代碼

          6、新建測試類

          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;

          /**
           * <p>Title: </p>
           * <p>Description: </p>
           * <p>Copyright: Copyright (c) Strongit 2011</p>
           * <p>Company: </p>
           * 
          @author lanjinghui@foxmail.com
           * 
          @version 1.0
           
          */
          public class WeatherClient {

              
          /**  
               *   @Description 方法實現(xiàn)功能描述  
               *   
          @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、運行結果 
          - 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%
          空氣質量:良;紫外線強度:中等
          穿衣指數(shù):天氣較熱,建議著短裙、短褲、短套裝、T恤等夏季服裝。年老體弱者宜著長袖襯衫和單褲。
          感冒指數(shù):各項氣象條件適宜,發(fā)生感冒機率較低。但請避免長期處于空調房間中,以防感冒。
          運動指數(shù):白天有降水,建議在戶內進行輕度運動。若堅持戶外運動,請選擇合適的運動,并攜帶雨具。
          洗車指數(shù):不宜洗車,未來24小時內有雨,如果在此期間洗車,雨水和路上的泥水可能會再次弄臟您的愛車。
          晾曬指數(shù):有降水,不適宜晾曬。如果非晾曬不可,請在室內準備出充足的空間。
          旅游指數(shù):有雷陣雨,稍熱,微風,旅游指數(shù)一般,外出請盡量避開雷陣雨時間,若外出,請注意防雷并攜帶雨具。
          路況指數(shù):有小雨,路面潮濕,車輛易打滑,請小心駕駛。
          舒適度指數(shù):白天雖然有雨,但仍無法削弱較高氣溫帶來的暑意,同時降雨造成濕度加大會您感到有些悶熱,不很舒適。
          空氣污染指數(shù):氣象條件有利于空氣污染物稀釋、擴散和清除,可在室外正常活動。
          紫外線指數(shù):屬中等強度紫外線輻射天氣,外出時建議涂擦SPF高于15、PA+的防曬護膚品,戴帽子、太陽鏡。
          7月13日 雷陣雨
          26℃/31℃
          無持續(xù)風向微風
          4.gif
          4.gif
          7月14日 陣雨
          26℃/31℃
          無持續(xù)風向微風
          3.gif
          3.gif
          7月15日 陣雨
          26℃/31℃
          無持續(xù)風向微風
          3.gif
          3.gif
          7月16日 陣雨
          26℃/31℃
          無持續(xù)風向微風
          3.gif
          3.gif
          7月17日 陣雨
          26℃/31℃
          無持續(xù)風向微風
          3.gif
          3.gif







          posted on 2011-07-13 09:41 lanjh 閱讀(2210) 評論(0)  編輯  收藏 所屬分類: Java Web

          主站蜘蛛池模板: 永定县| 靖西县| 扶余县| 紫金县| 炎陵县| 徐汇区| 汶川县| 沙雅县| 循化| 台安县| 太保市| 漠河县| 上高县| 普定县| 同心县| 泽普县| 喀什市| 仙桃市| 安化县| 同仁县| 三门峡市| 神池县| 舟曲县| 老河口市| 长春市| 通州区| 定结县| 福安市| 泾阳县| 额济纳旗| 高碑店市| 卫辉市| 成都市| 无极县| 大悟县| 晴隆县| 共和县| 昌平区| 宽城| 临夏县| 自贡市|