java调用webservice_Java调用net的webservice问题分享

本文讲述了同事在调用天气预报wsdl文件时遇到的问题,通过分析发现不同平台标签差异导致代码生成错误。解决方法是识别并修正特定标签,最终生成成功的客户端代码。经验教训是注意平台依赖和wsdl文件的正确性。
摘要由CSDN通过智能技术生成

由于同事的工作空间在这个目录下,如下图所示

9c6c383d9b084bcf66d993e4d8e94a58.png

他将webservice定义语言文件从webservice网上保存下来之后起名为wether.wsdl, 之后便在cmd中切换到项目的src目录中, 然后执行wsimport -keep E:lgWorkspacingWetherClientwether.wsdl

结果就报错了,然后查了网上的资料也没有解决, 然后他告诉我说从网上操作别的wsdl文件的时候就能自动生成webservice 的客户端代码,可是天气预报的就是不行, 之后我分析了一下,天气预报的应用服务后台可能不是用java语言写的, 之后搜集了一些资料, 发现这个wether.wsdl确实有问题,之后我找到了问题的原因,如下图所示:

d54e2c8318e5f86b8838e07aaaba360d.png

其中15行,61行,101行报错,然后我查看wether.wsdl 发现他们有个共性就是

这个标签,之后我参考net的规则与java的异同点,发现这个文件确实有问题,于是就将这个标签改为了, 之后再次运行

wsimport -keep E:lgWorkspacingWetherClientwether.wsdl

客户端的代码就自动生成了。然后由服务器端在客户端的存根调用代理方法的时候执行成功!

通过今天问题的分析,总结如下:有时候我们调用wsdl的时候,由于文件平台的不同,生成这个文件的时候里面的标签语法也会有所不同,如果不能正常的生成客户端代码,那你就应该考虑下是不是这个文件本身有问题,如果有问题那么在网上找相关的资料,基本上都可以解决!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值