使用eclipse调用天气预报的测试代码WSDL

为什么80%的码农都做不了架构师?>>>   hot3.png

最近看了很多WS的应用,自己就写了一个, 方便以后用的着的时候查阅。

本篇知识入门级的简单应用。

1. 下载axis_src_1.4.zip文件

    下载地址: http://apache.etoak.com//ws/axis/1_4/

     解压之后就找到Lib包, 路径如下: axis-1_4\webapps\axis\WEB-INF\lib

     就是需要这个下面的包

2. 下载一个eclipse的工具

    地址如下: http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR1/eclipse-jee-helios-SR1-win32.zip

  这个工具解压之后就可以使用, 而且里面还带有WebService的生成代码工具。

 

3. 找到weather的WSDL文件

    地址如下: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

    在IE浏览器中打开, 然后另存为XXX.wsdl的文件

 

4. 在eclipse中新建一个java project的项目, 将wsdl的文件放到src下面; 并且加入前面解压axis的jar包

  其中文件列表如下:

        activation.jar;

        axis.jar;

        ais-ant.jar;

        commons-discovery-0.2.jar;

        commons-logging-1.0.4.jar;

        jaxrpc.jar;

        mail.jar

        saaj.jar

        wsdl4j-1.5.1.jar

5. 使用eclipse的生成客户端的工具生成代码

    选中wsdl的文件, 然后右键 -> web service -> Generate Client

   配置一下就可以了产生代码了。

 

6.  调用测试, 代码如下:

import javax.xml.rpc.ServiceException;
import cn.com.WebXml.*;

public class TestWs {
    public static void main(String[] args) throws ServiceException, RemoteException {
        WeatherWebServiceLocator locator = new WeatherWebServiceLocator();
        WeatherWebServiceSoapStub service = (WeatherWebServiceSoapStub) locator
                .getPort(WeatherWebServiceSoapStub.class);
        String[] str = service.getSupportProvince();
        for(int i = 0; i< str.length; i++){
            System.out.println(str[i].toString());
        }
        System.out.println("OKOOOOOOOOOOOOOOOOOOOOO");
        String[] str_city = service.getSupportCity("江苏");
        for(int i = 0; i< str_city.length; i++){
            System.out.println(str_city[i].toString());
        }
    }
}

执行结果如下:

log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.
直辖市
特别行政区
黑龙江
吉林
辽宁
内蒙古
河北
河南
山东
山西
江苏
安徽
陕西
宁夏
甘肃
青海
湖北
湖南
浙江
江西
福建
贵州
四川
广东
广西
云南
海南
新疆
西藏
台湾
亚洲
欧洲
非洲
北美洲
南美洲
大洋洲
OKOOOOOOOOOOOOOOOOOOOOO
南京 (58238)
苏州 (58357)
昆山 (58356)
南通 (58259)
太仓 (58377)
吴县 (58349)
徐州 (58027)
宜兴 (58346)
镇江 (58248)
淮安 (58145)
常熟 (58352)
盐城 (58151)
泰州 (58246)
无锡 (58354)
连云港 (58044)
扬州 (58245)
常州 (58343)
宿迁 (58131)

转载于:https://my.oschina.net/tomsu/blog/11848

你可能感兴趣的:(开发工具)