java wsdl 生成客户端_使用eclipse自动生成WSDL客户端代码

一、获取WSDL文件

从网上可以搜到一些提供各种服务的免费接口,比如获取天气预报的接口:

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

在浏览器中打开上面的网址,然后ctrl+s保存为WeatherWebService.wsdl文件,将该文件加入到你的Java工程中。

二、引入必须的Jar包

webservice服务是需要引入axis的jar包的,如下图:

18a89c275ac56291b138cf0e4e17c945.png

如果没有引入saaj-*.jar,可能会报错。

三、生成客户端Java代码

右键点击WeatherWebService.wsdl文件,找到Web Service项,点击Generate Client子菜单。如下图:

f03a72e0d79959852e2b0d6316f5f24c.png

在弹出的窗口中点击Next,如下图:

98e4fbdc85ca17d36ee40ba11e466efa.png

选择生成的代码要防止的包位置,如下图:

fecc01d0640cac01e8b8516515351735.png

点击完成,稍等片刻,就能看到生成的Java代码了。如下图:

9f638e639055f060a18b3131d280ad63.png

四、测试代码

package cn.com.WebXml;

import java.rmi.RemoteException;

import javax.xml.rpc.ServiceException;

public class WeatherDemo {

public static void main(String[] args) throws ServiceException, RemoteException {

WeatherWebServiceLocator locator = new WeatherWebServiceLocator();

WeatherWebServiceSoapStub stub = (WeatherWebServiceSoapStub) locator.getPort(WeatherWebServiceSoapStub.class);

String[] weatherInfo = stub.getWeatherbyCityName("南京");

for (String info : weatherInfo) {

System.out.println(info);

}

}

}

测试结果如下图:

8be2afed503ca1c2a7bab3cc8dd8d5da.png

五、遇到的问题

IWAB0503E Unable to update Java build path

在使用sts生成客户端Java代码的时候,最后一步报了这个错误,这个是因为eclipse中包含多于一个的saaj插件引起的。点击sts的help菜单,找到子菜单项About Spring Tool Suite,在弹出的窗口中点击左下角的Instation Details按钮,如下图:

a53d2b7489a43af9001c8cfd9b2f89a9.png

在弹出的窗口中切换到Plug-ins标签页,在输入框中输入saaj,过滤结果如下图:

b85c7a6048241c427359db12594d1143.png

可以看到,sts安装了两个SAAJ插件。此时到sts安装目录下的plugins目录中搜索"javax.xml.soap",会出现两个结果,如下图:

cd27577fe03ad42cc0aae29c8cdc618d.png

备份后删除其中一个,重启sts即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值