写点什么

Spring Web Services 3.0.4.RELEASE 和 2.4.3.RELEASE 发布

  • 2018-09-29
  • 本文字数:1687 字

    阅读完需:约 6 分钟

Spring 同时发布了Web Services 项目的两个版本:作为开发主干的3.0.4.RELEASE 和作为运维的2.4.3.RELEASE。两个版本都已更新,可以在Spring Framework 5.1.0 上运行,支持Java 11。

Spring Web Services(Spring-WS)是 Spring 社区的一款产品,致力于创建文档驱动的 Web 服务。它旨在促进契约优先的SOAP 服务开发,允许使用操作XML 有效负载的多种方法中的一种来创建灵活的Web 服务。

在新版本的Spring Web Services 中,最显著的改进是支持Java 11。自从Java 9 以来,一些关键的Java EE 包(如核心XML 包和基于soap 的包)的可见性降低了,在 Java 11 中,这些包被完全删除了。因此,要在 Java 9 及以上版本上使用 Spring Web Services,开发人员不能再依赖于 JDK 提供关键的 XML 和基于 soap 的库。

Spring Web Services 构建文件中新增一个 Java 11 概要文件,其中包含开发人员必须添加到自己的构建文件中的额外依赖项。在使用 Java 11 时,开发人员应该将依赖项添加到构建文件中。下面是 build.xml 的一个片段,其中包含在版本 3.0.4.RELEASE 上 Java 11 所需要的依赖项:

复制代码
<dependencies>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
<version>2.3.0</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jvnet.staxex</groupId>
<artifactId>stax-ex</artifactId>
<version>1.7.8</version>
</dependency>
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>1.3.28</version>
</dependency>
<dependency>
<groupId>javax.xml.soap</groupId>
<artifactId>javax.xml.soap-api</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.3.0</version>
</dependency>

仍然使用 Spring Web Services 2.4.3.RELEASE 的开发人员使用 Java 11 时不会有问题。这个版本只是使用了稍微旧一点的 SOAP API(1.3.8)。下面是 build.xml 的一个片段,其中包含在版本 2.4.3.RELEASE 上 Java 11 所需要的依赖项:

复制代码
<dependencies>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
<version>2.3.0</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jvnet.staxex</groupId>
<artifactId>stax-ex</artifactId>
<version>1.7.8</version>
</dependency>
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>1.3.28</version>
</dependency>
<dependency>
<groupId>javax.xml.soap</groupId>
<artifactId>javax.xml.soap-api</artifactId>
<version>1.3.8</version>
</dependency>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.3.0</version>
</dependency>

除了一般的 Java 11 支持外,这两个 Spring Web Services 版本还都带来了一系列的 Bug 修复和改进,例如:

  • SaajSoapMessage 创建时带有默认的(空的)SoapEnvelope( SWS-1018 ) ;

  • SimpleXsdSchema 不初始化产生 NullPointerException( SWS-1036 )的属性;

  • 解决第三方库版本冲突( SWS-1030 );

  • Ehcache——OWASP 依赖项检查问题( SWS-1033 )。

Spring Web Services 3.0.4.RELEASE 特有的特性包括:

  • 使 SimpleXsdSchema 提供更有效的错误信息( SWS-1037 );

  • 改进文档,一系列对于文档的小幅修正,如错误引用(应该指向 Maven Wrapper 而错误地指向了 Gradle Wrapper 的)、失效连接等等( SWS-1038 );

  • 升级到 Spring 的最新版本 ( SWS-1039 )。

Spring Web Services 工件位于 maven 中心库中和 http://repo.spring.io / 网站上。 Spring GitHub 库中还提供了一个例子,演示如何搭配使用 Spring Web Services 和 Spring Boot。

查看英文原文: Spring Releases Versions 3.0.4 and 2.4.3 Web Services

2018-09-29 09:311284
用户头像

发布了 1008 篇内容, 共 397.5 次阅读, 收获喜欢 345 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容
Spring Web Services 3.0.4.RELEASE和2.4.3.RELEASE发布_Java_Diogo Carleto_InfoQ精选文章