概述
天气接口地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
一、生成对应的java实体
- 打开项目文件目录路径文件夹,在当前文件夹打开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目录下(没有这个目录的进行新建)。
比较重要的一个类:
三、测试
- 新建一个测试类:
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. 参考链接
- WebService01_02——客户端访问wsimport
- JAVA调用WebService接口(以调用第三方天气接口为例)
- WebService01_03——TCPIP-Monitor 怎么监控SOAP网络请求
最后
以上就是糊涂小蝴蝶为你收集整理的JAVA调用WebService接口(以调用第三方天气接口为例)并打成jar包 附源码的全部内容,希望文章能够帮你解决JAVA调用WebService接口(以调用第三方天气接口为例)并打成jar包 附源码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复