<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    eclipse插件實現Java調用 asmx 的Web Service

    eclipse插件(axis2 tool--Code Generator Wizard)實現Java調用 asmx 的Web Service

    一個獲得天氣情況及國家城市的 Web Service
    http://www.webservicex.net/globalweather.asmx?WSDL

    AXIS2 下載地址 http://ws.apache.org/axis2/download.cgi
    其eclipse工具 http://ws.apache.org/axis2/tools/index.html
    Code Generator Wizard - Eclipse Plug-in 可以以eclipse中的link方式安裝.即可以通過自動
    生成java service code.

    具體步驟如下:
    在eclipse的java project中 NEW --> Other --> Axis2 Wizards -->Axis2 Code Generator
    NEXT --> 選擇 Generate java source code from a WSDL file
    NEXT --> 在WSDL file location: 中輸入 : http://www.webservicex.net/globalweather.asmx?WSDL
    NEXT --> NEXT --> 選擇好文件生成路徑
    如: E:\eclipseworkspace\axis213\src
    FINISH 后會自動生成兩個文件:
    GlobalWeatherCallbackHandler.java 和 GlobalWeatherStub.java

    新建一個測試文件GlobalWeatherTest.java.
    內容如下:
    package net.webservicex.www;

    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.StringReader;
    import java.rmi.RemoteException;

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;

    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;

    public class GlobalWeatherTest {
     public static void main(String[] args) throws RemoteException {
      GlobalWeatherStub stub = new GlobalWeatherStub();
      GlobalWeatherStub.GetCitiesByCountry request = new GlobalWeatherStub.GetCitiesByCountry();
      request.setCountryName("Korea");
      GlobalWeatherStub.GetCitiesByCountryResponse response = stub
        .GetCitiesByCountry(request);
      System.out.println("=================國家城市=================");
      //System.out.println(response.getGetCitiesByCountryResult());
      String xml = response.getGetCitiesByCountryResult();
      parseXML(xml);
      
      GlobalWeatherStub.GetWeather weatherRequest = new
      GlobalWeatherStub.GetWeather();
      weatherRequest.setCountryName("Korea");
      weatherRequest.setCityName("Seoul");
      GlobalWeatherStub.GetWeatherResponse weatherResponse =
      stub.GetWeather(weatherRequest);
      System.out.println("=================國家/城市/天氣=================");
      System.out.println(weatherResponse.getGetWeatherResult());
     }

     public static void parseXML(String xml) {
      DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
      try {
       DocumentBuilder dombuilder = domfac.newDocumentBuilder();
       StringReader rd = new StringReader(xml);
       InputSource is = new InputSource(rd);

       Document doc = dombuilder.parse(is);
       Element root = doc.getDocumentElement();
       NodeList citys = root.getChildNodes();

       if (citys != null) {
        for (int i = 0; i < citys.getLength(); i++) {
         Node city = citys.item(i);
         if (city.getNodeType() == Node.ELEMENT_NODE) {
          for (Node node = city.getFirstChild(); node != null; node = node
            .getNextSibling()) {
           if (node.getNodeType() == Node.ELEMENT_NODE) {
            if (node.getNodeName().equals("Country")) {
             String country = node.getFirstChild()
               .getNodeValue();
             System.out.print(country);
            }
            if (node.getNodeName().equals("City")) {
             String cityname = node.getFirstChild()
               .getNodeValue();
             System.out.println(" || " + cityname);
            }
           }
          }
         }
        }
       }
      } catch (ParserConfigurationException e) {
       e.printStackTrace();
      } catch (FileNotFoundException e) {
       e.printStackTrace();
      } catch (SAXException e) {
       e.printStackTrace();
      } catch (IOException e) {
       e.printStackTrace();
      }
     }
    }


    運行結果如下:

    =================國家城市=================
    Korea, Republic of || Kwangju Ab
    Korea, Republic of || Kunsan Ab
    Korea, Republic of || Yosu Airport
    Korea, Republic of || Chunchon Ab
    Korea, Republic of || Hoengsong Ab
    Korea, Republic of || Kangnung Ab
    Korea, Republic of || Wonju
    Korea, Republic of || Cheju International Airport
    Korea, Republic of || Pusan / Kimhae International Airport
    Korea, Republic of || Mosulpo Ab
    Korea, Republic of || Sach'On Ab
    Korea, Republic of || Ulsan
    Korea, Republic of || Tonghae Radar Site
    Korea, Republic of || Seoul / Yongdungp'O Rokaf Wc
    Korea, Republic of || Pyongtaek Ab
    Korea, Republic of || Seoul
    Korea, Republic of || Seoul E Ab
    Korea, Republic of || Koon-Ni Range
    Korea, Republic of || Osan Ab
    Korea, Republic of || Paengnyongdo Ab
    Korea, Republic of || Yeonpyeungdo
    Korea, Republic of || Seoul / Kimp'O International Airport
    Korea, Republic of || Yeoju Range
    Korea, Republic of || Suwon Ab
    Korea, Republic of || Camp Stanley / H-207
    Korea, Republic of || Yongsan / H-208 Hp
    Korea, Republic of || Andong
    Korea, Republic of || Paekado
    Korea, Republic of || Taejon Kor-Afb
    Korea, Republic of || Songmu Ab
    Korea, Republic of || Taejon
    Korea, Republic of || Pohang Ab
    Korea, Republic of || Jung Won Rok-Ab
    Korea, Republic of || Mangilsan Ab
    Korea, Republic of || Taegu Ab
    Korea, Republic of || Sangju
    Korea, Republic of || Taegu
    Korea, Republic of || Chongju Ab
    Korea, Republic of || Woong Cheon
    Korea, Republic of || Yechon Ab
    Korea, Democratic People's Republic of || Kimchaek
    Korea, Democratic People's Republic of || Pyongyang
    =================國家/城市/天氣=================
    <?xml version="1.0" encoding="utf-16"?>
    <CurrentWeather>
      <Location>Seoul / Kimp'O International Airport, Korea, South (RKSS) 37-33N 126-48E 18M</Location>
      <Time>Oct 24, 2007 - 11:00 AM EDT / 2007.10.24 1500 UTC</Time>
      <Wind> from the NNW (330 degrees) at 2 MPH (2 KT) (direction variable):0</Wind>
      <Visibility> less than 1 mile:0</Visibility>
      <SkyConditions> partly cloudy</SkyConditions>
      <Temperature> 48 F (9 C)</Temperature>
      <DewPoint> 48 F (9 C)</DewPoint>
      <RelativeHumidity> 100%</RelativeHumidity>
      <Pressure> 30.24 in. Hg (1024 hPa)</Pressure>
      <Status>Success</Status>
    </CurrentWeather>

    WSDL

    =============最新的axis2-eclipse-codegen-wizard-1.4 用法(20080806)==============

    用同樣的方法生成代碼有五個:
    GlobalWeather.java
    GlobalWeatherLocator.java
    GlobalWeatherSoap.java
    GlobalWeatherSoapProxy.java
    GlobalWeatherSoapStub.java

    客戶端調用如下:
    GlobalWeatherLocator gwl = new GlobalWeatherLocator();
    GlobalWeatherSoapStub binding = (GlobalWeatherSoapStub)gwl.getGlobalWeatherSoap();
    System.out.println(">>>"+binding.getCitiesByCountry("Korea"));
    System.out.println(binding.getWeather("Seoul", "Korea"));

    posted on 2013-04-06 10:37 youngturk 閱讀(3063) 評論(1)  編輯  收藏 所屬分類: Java基礎webService

    評論

    # re: eclipse插件實現Java調用 asmx 的Web Service [未登錄] 2013-05-23 09:33 tom

    非常感謝  回復  更多評論   

    <2013年5月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    統計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結構
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學習

    Flex學習

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产在线jyzzjyzz免费麻豆| a毛看片免费观看视频| 好吊妞视频免费视频| 精品亚洲AV无码一区二区| 亚洲免费在线观看视频| 亚洲日本视频在线观看| 曰曰鲁夜夜免费播放视频| 亚洲精品456在线播放| 99在线视频免费观看视频| 亚洲中文无码mv| 国产精品免费_区二区三区观看| 亚洲爆乳少妇无码激情| 四虎永久免费影院| 免费看一级一级人妻片| 亚洲小说区图片区另类春色| 永久免费AV无码网站国产| 亚洲精品亚洲人成在线观看麻豆| 精品无码免费专区毛片| 亚洲精品无码专区| 亚洲Av无码一区二区二三区| 18禁网站免费无遮挡无码中文| 亚洲国产综合AV在线观看| 亚洲国产精品成人网址天堂| 久久久久国产精品免费看| 亚洲人精品亚洲人成在线| 亚洲免费观看在线视频| 亚洲综合色婷婷在线观看| 亚洲国产中文字幕在线观看| 久久综合九色综合97免费下载| 2020国产精品亚洲综合网| 国产免费不卡v片在线观看| 国产精品亚洲一区二区无码| 亚洲中文字幕日产乱码高清app| 67pao强力打造国产免费| 国产亚洲精品免费| 亚洲综合日韩中文字幕v在线| 日本免费网站在线观看| 亚洲熟女乱色一区二区三区| 亚洲午夜无码片在线观看影院猛 | 免费a级毛片无码a∨性按摩| 成人免费乱码大片A毛片|