转载

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

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

原文  http://www.infoq.com/cn/news/2018/10/spring-web-services-java-11
正文到此结束
Loading...