您的位置:首页 > 编程语言 > Java开发

解决cxf+spring发布的webservice缺少<wsdl:types>和<wsdl:message>标签的问题

2012-10-18 21:51 639 查看
最近学习cxf+spring发布webservice服务,但是遇到服务发布成功,查看其wsdl文件的时候却缺少<wsdl:import>和<wsdl:message>标签,查看代码确实没什么问题,因为用来测试,代码比较简单,但就是不出现以上两个标签。百度谷歌到处找原因找不到。失望……

还是自己好好动手解决问题吧。

认真看发布后的wsdl文件,发现多了<wsdl:import>标签(<wsdl:importlocation="http://localhost:8080/cxf-Spring-server/Hello?wsdl=HelloWorld.wsdl"
namespace="http://dao.testCxfSpring.spg.com/"></wsdl:import>),将<wsdl:import>标签中的location拿出去在浏览器中打开,里面是“丢失”的两个标签,这时候就发现其实并不是丢失了,而是包含在了<wsdl:import>标签内

为什么会包含在了<wsdl:import>标签内?再研究,发现<wsdl:definitions>标签内的targetNamespace属性和<wsdl:import>中namespace属性的值不同,发现原因所在

最终解决方案

1,将接口类和实现类放在同一个包下,问题即可解决

2,将接口类和实现类中的注解中加入命名空间属性配置,@WebService(targetNamespace="XXXXX"),两个配置成一样

/article/8195949.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐