/spring-ws

Spring Web Services

Primary LanguageJava

Spring Web Services Spring Web Services

Spring Web Services

Spring Web Services is a product of the Spring community focused on creating document-driven Web services. Spring Web Services aims to facilitate contract-first SOAP service development, allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads.

Project Status

We go to great lengths to ensure smooth upgrades. We also seek to make your upgrade on major versions of Java can be as smooth as possible.

Check the matrix below to see the status of supported versions:

Table 1. master branch
Job 3.0 status 2.x status

Test - JDK 8

badge

badge

Test - JDK 8 and Spring.NEXT

badge

badge

Test - JDK 8 and Spring snapshots

badge

badge

Test - JDK 8 and Spring.NEXT snapshots

badge

badge

Test - JDK 11

badge

badge

Test - JDK 11 and Spring.NEXT

badge

badge

Test - JDK 11 and Spring snapshots

badge

badge

Test - JDK 11 and Spring.NEXT snapshots

badge

badge

Build - Release to repo.spring.io

badge

badge

Installation

Releases of Spring Web Services are available for download from Maven Central, as well as our own repository, https://repo.spring.io/release.

Please visit https://spring.io/projects/spring-ws to get the right Maven/Gradle settings for your selected version.

Building Spring Web Services

  1. Run ./mvnw clean package

This will generate the artifacts.

You can also import the project into your IDE.

Releasing Spring Web Services

Snapshots are published automatically via Concourse CI. (See the ci folder for details).

Important
Snapshots do NOT include GPG signatures. To do so would require putting a private key on the CI server. The process for releases (below) is manual and DOES include GPG signatures.

To do a release (.RELEASE, .RC?, .M?):

  1. Check in all changes and ensure there are no edited files.

  2. Bump up the version in ALL pom.xml files to the desired version (e.g. mvn versions:set -DnewVersion=3.0.0.RC1) and commit the change.

  3. git tag <version> (like v3.0.0.RC1)

  4. Execute a maven test (./mvnw -Pdistribute,snapshot,docs clean test).

  5. Execute a maven deploy.

    • For a milestone: USERNAME=<user> PASSWORD=<encrypted password> ./mvnw -Pdistribute,milestone,docs clean -Dmaven.test.skip=true deploy

    • For a release: USERNAME=<user> PASSWORD=<encrypted password> ./mvnw -Pdistribute,release,docs clean -Dmaven.test.skip=true deploy

    • For a release to maven central: USERNAME=<user> PASSWORD=<nexus password> ./mvnw -Pdistribute,gpg,central clean -Dmaven.test.skip=true deploy -s settings.xml

  6. Bump up the version in ALL pom.xml files again to the next BUILD-SNAPSHOT.

  7. Commit the change.

  8. git push (This will push the tagged version along with the release AND the new snapshot commit)

  9. Inspect handiwork at https://repo.spring.io/ or https://oss.sonatype.org/#stagingRepositories

Note
A word about reference documentation. Based upon this, the distribute profile contains an artifactory property that is applied to the ZIP file generated by the docs profile. A CRON job will scoop up the zipped up docs and unpack them inside the target location.

Code of Conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

Spring Web Services Project Site

You can find the documentation, issue management, support, samples, and guides for using Spring Web Services at https://spring.io/projects/spring-ws/

Documentation

See the current Javadoc and reference docs.

Issue Tracking

Spring Web Services uses JIRA for issue tracking purposes

License

Spring Web Services is Apache 2.0 licensed.