首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Spring 三 整合Apache CXF WebService

2012-08-07 
Spring 3 整合Apache CXF WebService在CXF2版本中,集合Spring3发布CXF WebService就更加简单了。因为Spring

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;#userServiceBean是直接引用Ioc容器中的Bean对象 --><jaxws:server id="userService" serviceBean="#userServiceBean" address="/Users">    <jaxws:inInterceptors>        <ref bean="inMessageInterceptor"/>    </jaxws:inInterceptors>    <jaxws:outInterceptors>        <ref bean="outLoggingInterceptor"/>    </jaxws:outInterceptors></jaxws:server><!-- 或者这种方式,在老版本中这个是不能引用Ioc容器中的对象,但在2.x中可以直接用#id或#name的方式发布服务 --><jaxws:endpoint id="userService2" implementor="#userServiceBean" address="/Users">    <jaxws:inInterceptors>        <ref bean="inMessageInterceptor"/>    </jaxws:inInterceptors>    <jaxws:outInterceptors>        <ref bean="outLoggingInterceptor"/>    </jaxws:outInterceptors></jaxws:endpoint>

CXF发布WebService官方参考:http://cxf.apache.org/docs/writing-a-service-with-spring.html


热点排行