> For the complete documentation index, see [llms.txt](https://potoyang.gitbook.io/spring-in-action-v4/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://potoyang.gitbook.io/spring-in-action-v4/untitled-9/untitled-1.md).

# 15.5　发布和使用 Web 服务

近几年，最流行的一个 TLA（三个字母缩写）就是 SOA（面向服务的架构）。SOA 对不同的人意味着不同的意义。但是，SOA 的核心理念是，应用程序可以并且应该被设计成依赖于一组公共的核心服务，而不是为每个应用都重新实现相同的功能。

例如，一个金融机构可能有若干个应用，其中很多都需要访问借款者的账户信息。在这种情况下，应用应该都依赖于一个公共的获取账户信息的服务，而不应该在每一个应用中都建立账户访问逻辑（其中大部分逻辑都是重复的）。

Java 与 Web 服务的结合已经有很长的历史了，而且在 Java 中使用 Web 服务有多种选择。其中的大多数可选方案已经以某种方式与 Spring 进行了整合。虽然 Spring 为使用 Java API for XML Web Service（JAX-WS） 来发布和使用 SOAP Web 服务提供了大力支持，但是在本书我不可能涵盖每一个 Spring 所支持的 Web 服务框架和工具箱。

在本节，我们重新回顾下 Spitter 服务示例，不过这次我们将使用 Spring 对 JAX-WS 的支持来把 Spitter 服务发布为 Web 服务并使用此 Web 服务。首先，我们来看一下如何在 Spring 中创建 JAX-WS Web 服务。
