Springは、彼らのWeb Servicesプロジェクトのバージョンを2つ同時にリリースした。開発のメインブランチとしての3.0.4.RELEASEと、メンテナンスのための2.4.3.RELEASEだ。どちらのバージョンもSpring Framework 5.1.0で動作し、Java 11をサポートするようにアップグレードされている。
Spring Web Services (Spring-WS)は、ドキュメントドリブンWebサービスの作成にフォーカスしたSpringコミュニティのプロダクトだ。コントラクト・ファーストなSOAPサービス開発を容易にすることを目指している。これはXMLペイロードを操作する多数の方法の1つを使うことで、フレキシブルなWebサービスの作成を可能にする。
Spring Web Servicesの新バージョンでもっとも大きな改善は、Java 11のサポートだ。Java 9以降、コアXMLやSOAPベースのパッケージなど多数の主要なJava EEパッケージが姿を消していき、Java 11では、これらのパッケージはすべて削除された。そのため、Java 9以降でSpring Web Servicesを使うために、開発者はもはや主要なXMLおよびSOAPベースライブラリを提供するJDKを頼りにすることはできない。
開発者のビルドファイルに追加する必要がある外部依存関係を含む新しいJava 11プロファイルには、Spring Web Servicesビルドファイルが追加されている。Java 11を使う場合、開発者は依存関係をビルドファイルに追加しなくてはならない。3.0.4.RELEASEにおいて、Java 11に必要な依存関係を含むbuild.xmlを以下に示す。
<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)を使っているためだ。2.4.3.RELEASEにおいて、Java 11に必要な依存関係を含むbuild.xmlを以下に示す。
<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サポート以外に、どちらのバージョンにも次のようなバグ修正と改善が含まれている。
- 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 centralとhttp://repo.spring.ioに置かれている。SpringのGitHubリポジトリには、Spring Bootを使ったSpring Web Servicesの使い方をデモするサンプルがある。
Rate this Article
- Editor Review
- Chief Editor Action