1、引入很多jar包,pom依赖,注意如果有冲突的时候要排除或者查看引入版本是否冲突,buildpath是否引入的其他版本的jar

activation.jar
axis-ant.jar
axis.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
mail.jar
saaj.jar
wsdl4j-1.5.1.jar

2、第三方天气预报WebService接口WSDL地址(网上有很多,不一定用我举例的这个):

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

打开以后,看到的信息即是WSDL文档对webservice接口的说明信息。

将网页上的文本信息拷贝下来,去掉黑色字体(无用的),如下图。

3、保存成一个.wsdl格式的文件

将这个.wsdl文件拷贝到我们的src目录下

天气接口

4、右键此文件,new-->Web Service -- > web services Client-->拷贝wsdl网址-->finish

我们会看到自动给我们生成了很多的代码。

天气接口

我们只需要调其中我们需要的方法就行了。

5、写main类

代码如下:

public class WeatherForecastService {
 
    public static void main(String[] args) throws RemoteException, ServiceException {
        System.out.println("======程序启动======");
        String result[] = QueryWeatherForecastInfo("杭州");
        for (String r : result)
            System.out.println(r);
        System.out.println("======程序结束======");
    }
 
    public static String[] QueryWeatherForecastInfo(String cityName) throws RemoteException, ServiceException {
        WeatherWebServiceLocator locator = new WeatherWebServiceLocator();
 
        // 调用xxLocator对象的getXXPort()方法生成xxSoapBindingStub对象
        WeatherWebServiceSoapStub stud = (WeatherWebServiceSoapStub) locator.getWeatherWebServiceSoap();
        // 输出当天的天气状况
        String[] weather = stud.getWeatherbyCityName("杭州");
 
        return weather;
    }
 
}
运行一下,输出如下:

至此,一个调用第三方接口的WebService的demo就完成了,将该http://www.webxml.com.cn/zh_cn/weather_icon.aspx网站的图片下载到本项目,类似4.gif表示天气图标,封装所需要的参数返回给前端就ok了

相关文章:

  • 2021-12-17
  • 2021-11-20
  • 2022-12-23
  • 2022-01-08
猜你喜欢
  • 2021-07-12
  • 2021-07-20
  • 2021-11-12
  • 2021-09-11
相关资源
相似解决方案