JDK、CXF、Eclipse三种方式创建WebService客户端
程序员文章站
2022-05-18 16:33:50
...
下面以天气预报接口为实例进行介绍。
查询天气:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
说明: 直接生成客户端代码会抛异常, 无法生成客户端代码, 解决办法:
1. 将对应的wsdl文档保存到本地
2. 修改wsdl文档的部分内容:
将 <s:element ref="s:schema" /><s:any /> 替换成 <s:any minOccurs="2" maxOccurs="2"/>
备注: 这个是Java调用net的webservice都有的问题
1、JDK创建WebService客户端代码
使用jdk的wsimport.exe工具生成客户端代码:wsimport –keep url(url为wsdl文件的路径)
刷新项目,便可看见生成的代码。
编写测试代码:
2、CXF创建WebService客户端
1)下载cxf的jar包,用jar包的bin文件中的wsdl2java.bat,生成客户端代码
2)配置环境变量
3)cmd进入所要生成代码的项目文件夹下,wsdl2java url(url为wsdl文件的路径)
4)刷新项目,即可看到生成的代码
5)编写测试代码
3、eclipse自带创建WebSservice客户端
1)新建java Project
2)选中所建的java项目,右击new→Web Service Client
3)选中后点击next,选择wsdl所在地址或填入url
4)点击finish,刷新项目便可看见生成的代码
5)编写测试代码
public class Test {
public static void main(String[] args) {
WeatherWebServiceSoapProxy pro = new WeatherWebServiceSoapProxy();
try {
String[] weather = pro.getWeatherbyCityName("北京");
for(int i=0;i<weather.length;i++) {
System.out.println(weather[i]);
}
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
测试结果:
以上即为创建WebService客户端代码的三种方式。
上一篇: 运算符重载总结