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

CXF3+spring4发布RESTful问题总结

2016-02-29 11:46 323 查看
最近尝试使用cxf3+spring4开发RESTful遇到两个问题,就此记录一下。

问题1:接口开发完成后,发布webservice接口。发布后能通过客户端代码成功调用接口,但无法显示wadl页面。

问题1原因:由于没有导入cxf-rt-rs-service-description,服务描述包。所以无法显示wadl页面,另外服务描述包还支持@Descriptions和@Description注解,添加注解后能对接口进行注释。

问题2:客户端调用CXF接口是报出”通配符的匹配很全面, 但无法找到元素 ‘jaxrs:client’ 的声明”错误。jaxrs:client节点为:

<jaxrs:client id="userService"

address="http://localhost:8080/cxf-spring/webservice/rs/"

serviceClass="org.cxf.spring.client.support.webservice.rs.UserResource">

<jaxrs:providers>

<ref bean="jacksonProvider" />

</jaxrs:providers>

</jaxrs:client>


发现这个问题后找了许多资料,但始终没有找到问题原因。后来查看cxf-rt-frontend-jaxrs-3.1.5.jar包里面的jaxrs.xsd文件后发现里面根本就没有clien节点。后来查看了几个版本的源码发现CXF3.X以后cxf-rt-frontend-jaxrs-3.1.5 jar包的jaxrs.xsd取消了client节点,只有CXF2.X的jar包里面的jaxrs.xsd文件才有这个节点。原因是CXF3.X后这个节点已经移植到了cxf-rt-rs-client jar包的jaxrs-client.xsd文件里面。所以以后要使用这个节点需要另外导入jaxrs-client.xsd。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: