加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService

发布时间:2020-12-17 00:42:11 所属栏目:安全 来源:网络整理
导读:这几天一直在学习如何调用WebService。想写一个调用查询天气的WebService的Demo。 (天气查询WebService地址:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL) 1,首先学习了CXF。在使用CXFbin下的wsdl2java命令生成java类时,报一个“

这几天一直在学习如何调用WebService。想写一个调用查询天气的WebService的Demo。

(天气查询WebService地址:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL)

1,首先学习了CXF。在使用CXFbin下的wsdl2java命令生成java类时,报一个“...no found s:schema.....”的错误,经网上查询,是因为无法解析xml下的ref属性。解决方法网上有2种,第一个:删除<s:element ref="s:schema"/>,第二个:将<s:element ref="s:schema"/><s:any/>变为<s:any minOccurs="2" maxOccurs="2"/>。

以上2种方法,我都亲自测试过,都可以通过命令生成java类。

我在公司时,jdk为1.6,当时生成java类后,通过new 生成类,然后通过生成类的方法,就可以调用webservice的方法了。

可是回到家,再次测试竟然通不过了。我百思不得其解,重复操作,怎样都有问题。我将在公司做好的demo导入笔记本中,测试是通过的。所以我个人认为是否跟jdk版本有关系呢。

折腾到11点多,决定更换别的方法调用webService。

2,Axi2调用WebService。

通过Axi2bin下的命令,如下:

wsdl2java -uri?http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL

直接生成java类,这里生成java类只有2个,跟cxf生成的不同。cxf生成了很多类。Axi2也会生成很多类,但是它把很多类都写成内部类了。所以外表看起来至生成了2个java文件。

将生成文件copy到对应包下,测试通过。一切ok

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读