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

1. 添加 maven 依赖

0db4db348c78600d21f603ba7c0307f9.png

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

接口类:

6f612a830c1dd56a8c7fb5ea651bac3b.png

实现类:

0adf2eec47e65660d2844915fbe307cf.png

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

3. 添加配置发布 Web Service

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

76709bffd888c8f4b76ce631b3fd5bc6.png

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

4. 运行 springboot 项目

6ac9186dc24ce6d9dd77d51538ff53f8.png

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

@Bean

public ServletRegistrationBean dispatcherServlet() {

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

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

}

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

b29a8a60d4c296fa67d5fcacff437986.png

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


来源链接:

https://www.cnblogs.com/stom/p/10481618.html

3e8e17a8f181a804773e2c7883c769a8.png

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐