我是靠谱客的博主 糊涂小蝴蝶,最近开发中收集的这篇文章主要介绍JAVA调用WebService接口(以调用第三方天气接口为例)并打成jar包 附源码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

天气接口地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

一、生成对应的java实体

  1. 打开项目文件目录路径文件夹,在当前文件夹打开cmd,并输入如下命令:
wsimport -encoding utf-8 -keep -Xnocompile -p com.ratel.weather -wsdllocation /wsdl/weather.wsdl -verbose http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

参数说明:
-encoding : 指定编码格式
-keep: 生成java源文件
-d: 指定.class文件的输出目录
-s: 指定.java文件的输出目录
-p: 定义生成类的包名,不定义的话有默认包名
-verbose: 在控制台显示输出信息
-b: 指定jaxws/jaxb绑定文件或额外的schemas
-extension: 使用扩展来支持SOAP1.2
-Xnocompile: 不编译生成的 Java 文件
-wsdllocation: @WebServiceClient.wsdlLocation 值, 指定这个值后可以将配置文件放到项目中,便于程序打包以后的部署迁移。

如果出现如下图的情况:
在这里插入图片描述
用浏览器打开天气接口地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl,按下CTRL+S保存文件为
weather.wsdl
用编辑器打开下载的文件,将

<s:element ref="s:schema" /> 
<s:any />

改为

<s:any minOccurs="2" maxOccurs="2" />

保存以后运行如下命令:

wsimport -encoding utf-8 -keep -Xnocompile -p com.ratel.weather -wsdllocation /wsdl/weather.wsdl -verbose  weather.wsdl

二、建工程

将生成的文件拷贝到一个maven工程中,并将 weather.wsdl 拷贝到resources的wsdl目录下(没有这个目录的进行新建)。
在这里插入图片描述
比较重要的一个类:
在这里插入图片描述

三、测试

  1. 新建一个测试类:
package com.ratel.weather;
import java.net.MalformedURLException;
import java.net.URL;
/**
 * @业务描述:
 * @package_name: com.ratel.weather
 * @project_name: weather
 * @copyright (c) ratelfu 版权所有
 */
public class WeatherTest {
    public static void main(String[] args) throws MalformedURLException {
        //也可以使用new WeatherWebService(url)此方法可重新设置请求的地址
        //URL url=new URL("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl");
        //WeatherWebService factory = new WeatherWebService(url);
        WeatherWebService factory = new WeatherWebService();
        WeatherWebServiceSoap weatherWebServiceSoap = factory.getWeatherWebServiceSoap(); //WeatherWebServiceSoap为调用的实现类
        ArrayOfString strArray = null;
        strArray = weatherWebServiceSoap.getWeatherbyCityName("郑州");
        System.out.println(strArray.getString());
    }
}

出现如下图所示的结果则代表调用成功:
在这里插入图片描述

四、将工程打成jar包,并指定运行时的main类

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>

                    <archive>
                        <manifest>
                            <!--设置加载的主类-->
                            <mainClass>com.ratel.weather.WeatherTest</mainClass>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                    </archive>
                    <classesDirectory>
                    </classesDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>

打包:
在这里插入图片描述

五、测试部署迁移

找到jar生成的位置并进行测试:
在这里插入图片描述

六、 源代码

github :https://github.com/Dr-Water/weather

7. 参考链接

  1. WebService01_02——客户端访问wsimport
  2. JAVA调用WebService接口(以调用第三方天气接口为例)
  3. WebService01_03——TCPIP-Monitor 怎么监控SOAP网络请求

最后

以上就是糊涂小蝴蝶为你收集整理的JAVA调用WebService接口(以调用第三方天气接口为例)并打成jar包 附源码的全部内容,希望文章能够帮你解决JAVA调用WebService接口(以调用第三方天气接口为例)并打成jar包 附源码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部