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依赖

SpringBoot整合cxf实现SOAP WebService_第1张图片

 

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

接口类:

SpringBoot整合cxf实现SOAP WebService_第2张图片

 

 实现类:

SpringBoot整合cxf实现SOAP WebService_第3张图片

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

 

3.添加配置发布Web Service

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

SpringBoot整合cxf实现SOAP WebService_第4张图片

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

 

4.运行springboot项目

SpringBoot整合cxf实现SOAP WebService_第5张图片

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

@Bean

public ServletRegistrationBean dispatcherServlet() {

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

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

}

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

SpringBoot整合cxf实现SOAP WebService_第6张图片

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

转载于:https://www.cnblogs.com/stom/p/10481618.html

你可能感兴趣的:(SpringBoot整合cxf实现SOAP WebService)