您的位置 首页 java

Java调用net的webservice问题分享

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

Java调用net的webservice问题分享

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

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

Java调用net的webservice问题分享

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

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

wsimport -keep E:lgWorkspacingWetherClientwether.wsdl

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

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

文章来源:智云一二三科技

文章标题:Java调用net的webservice问题分享

文章地址:https://www.zhihuclub.com/178758.shtml

关于作者: 智云科技

热门文章

网站地图