CXF Webservice 6 - Spring 3 整合Apache CXF WebService
在CXF2版本中,整合Spring3发布CXF WebService就更加简单了。因为Spring 3提供了annotation注解,而CXF2发布WebService已经不像之前版本的配置那样(参考老版本发布WebService系列文章:http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html),现在发布一个WebService可以直接从Spring的IoC容器中拿到一个对象,发布成WebService服务。当然发布WebService的配置有了些小小的变动,具体请往下看。 ? 在老版本中发布一个WebService,配置applicationContext-server.xml文件中添加如下配置如下: jaxws:server的发布方式 <bean id="userServiceBean" class="com.hoo.service.ComplexUserService"/> ? <bean id="inMessageInterceptor" class="com.hoo.interceptor.MessageInterceptor"> <constructor-arg value="receive"/> </bean> <bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> <!-- 注意下面的address,这里的address的名称就是访问的WebService的name -->
<jaxws:server id="userService" serviceClass="com.hoo.service.IComplexUserService" address="/Users"> <jaxws:serviceBean> <!-- 要暴露的 bean 的引用 -->
<ref bean="userServiceBean"/> </jaxws:serviceBean> <jaxws:inInterceptors> <ref bean="inMessageInterceptor"/> </jaxws:inInterceptors> <jaxws:outInterceptors> <ref bean="outLoggingInterceptor"/> </jaxws:outInterceptors> </jaxws:server> jaxws:endpoint的发布方式 <!-- com.hoo.service.ComplexUserService是com.hoo.service.IComplexUserService接口的实现, 这种方法应该不能从Ioc中引用对象 -->
<jaxws:endpoint id="userService2" implementor="com.hoo.service.ComplexUserService" address="/Users"> <jaxws:inInterceptors> <ref bean="inMessageInterceptor"/> </jaxws:inInterceptors> <jaxws:outInterceptors> <ref bean="outLoggingInterceptor"/> </jaxws:outInterceptors> </jaxws:endpoint> 而在2.x新版本中,发布Ioc容器中的对象为一个WebService的方法 <!-- 注意下面的address,这里的address的名称就是访问的WebService的name;#userServiceBean是直接引用Ioc容器中的Bean对象 -->
<jaxws:server id="userService" serviceBean="#userServiceBean" address="/Users"> </jaxws:server> <!-- 或者这种方式,在老版本中这个是不能引用Ioc容器中的对象,但在2.x中可以直接用#id或#name的方式发布服务 -->
<jaxws:endpoint id="userService2" implementor="#userServiceBean" address="/Users"> </jaxws:endpoint> CXF发布WebService官方参考:http://cxf.apache.org/docs/writing-a-service-with-spring.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Angular 与 jQuery 两者的适用性
- webService----wss4j+cxf实现WS-Security(基于Us
- Shell脚本的执行方式详解
- twitter-bootstrap – Bootstrap 3.0 – 包括固定
- 报表应用程序服务器无法启动
- 如何在单个函数中清除所有AngularJS $范围和$roo
- angularjs – 带有ui-router的Angular 1.5组件解
- scala – 为什么null.asInstanceOf []失败?
- 使用HttpClientModule在Angular 2/4中反序列化js
- Basic Tutorials of Redis(9) -First Edition Re