CXF 和Spring 集成开发两种发布方式

通过spring 配置实现 webservice 的配置有两种,一种是jaxws:endpoint ,另外一种是jaxws:server

  1. jaxws的target namespace是 http://cxf.apache.org/jaxws,由于目前CXF还处于incubating 的状态,没有cxf.apache.org这个域名。为了能让Spring来进行xml文档校验的时候能够获得jaxws.xsd,Spring提供了一种通过ClassPath中获得jaxws.xsd方法。具体步骤如下就是在META-INF中添加spring.schema的方式将jaxws.xsd与对应的URI进行绑定,同时也需要将NamespaceHandler注册进Spring中。
  2. jaxws:endpoint 与 jaxws:server是对等的,他们都是对Web Services 服务端的描述。只是在JAXWS RI在最初的实现过程中,对于Server端的配置是通过Endpoint来进行描述的,而且JAXWS API也定义了Endpoint,因此为了保持与JAXWS API的一致性,在这里设置了jaxws:endpoint。
  3. jaxws front end 与 simple front end之间的关系。 CXF除了提供JAXWS 的实现,也延续Xfire的风格提供了简单POJO Web Services的实现前端 simple front end。Jaxws front end 继承了simple front end的绝大部分方法,它与simple front end 的最大不同就是提供了Web Services Meta data (JSR 181)的支持,提供从Annotation中获取Web Services的能力。对于 jaxws:server 以及 jaxws:client 你可以在 simple front end中找到对应的 simple:server , simple:client。

 

jaxws:server的发布方式

<bean id="address" class="test.AddressManager" />
<bean id="inInter" class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
<bean id="outInter" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>

<!-- 注意下面的address,这里的address的名称就是访问的WebService的name -->
<jaxws:server id="addressserver" serviceClass="test.IAddressManager" address="/Address">
 <jaxws:serviceBean>
  <ref bean="address"/> <!-- 要暴露的bean 的引用-->
 </jaxws:serviceBean>
    <jaxws:inInterceptors>       
     <ref bean="inInter"/>   
    </jaxws:inInterceptors>   
    <jaxws:outInterceptors>       
     <ref bean="outInter"/>   
    </jaxws:outInterceptors>
</jaxws:server>

 

jaxws:endpoint的发布方式

<!-- test.AddressManager是="test.IAddressManager接口的实现, 这种方法应该不能从Ioc中引用对象 -->

<jaxws:endpoint id="addressserver2" implementor="test.AddressManager" address="/Users">
  <jaxws:inInterceptors> 
   <ref bean="inInter"/>
  </jaxws:inInterceptors>
  <jaxws:outInterceptors>
   <ref bean="outInter"/>
  </jaxws:outInterceptors>

</jaxws:endpoint>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值