SpringBoot整合cxf实现SOAP WebService


SpringBoot的Web Service类型常见有RESTful Web Service和SOAP Web Service两种,RESTful风格的web服务比较常用,但实际工作中仍有部分场景用到SOAP Web Service。SpringBoot实现SOAP Web Service的方式有多种,个人觉得cxf比较简单,下面采用cxf来实现。

1.添加maven依赖

 

2.根据实际应用场景开发Web Service

接口类:

 

 实现类:

 这里以最简便的方式实现业务逻辑,关键是注解的使用,此外还可以通过@SOAPBinding、@WebResult等注解以及上述注解的一些属性对服务进行配置,这里不再赘述。

 

3.添加配置发布Web Service

      SpringBoot框架最大的优点之一就是简化配置,习惯优先于配置,因此大部分配置都有默认值,不需要我们去配置。当需要个性化配置时,通常用java类的配置方式来代替繁琐的xml配置,简洁直观,不易出错;即使出现错误,也能借助IDE在编译时期发现和精确定位,而xml配置却是在运行时才能发现,而且不好定位。

可以同时发布多个服务, 每个服务配置一个Endpoint Bean,这里只配置一个服务。

 

4.运行springboot项目

看到上面项目启动的日志信息,证明服务发布成功,注意soap webservice默认在发布路径加上/services,可以在配置类中增加如下代码改变该路径

@Bean

public ServletRegistrationBean dispatcherServlet() {

        /* “/soap/*”为自己配置的soap webservice发布路径前缀 */

   return new ServletRegistrationBean(new CXFServlet(), "/soap/*"); 

}

 下面用soapUI工具调用服务接口

至此,soap Web Service服务已成功发布。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM