您的位置 首页 > 数码极客

javawsdl如何调用webservice

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


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

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


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

<s:element ref="s:schema" /><s:any />这个标签,之后我参考net的规则与java的异同点,发现这个文件确实有问题,于是就将这个标签改为了<s:any minOccurs="2" maxOccurs="2"/>, 之后再次运行

wsimport -keep E:\lgWorkspacing\WetherClient\we

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


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

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“javawsdl如何调用webservice”边界阅读