Quarkus CXF

Keep the SOAP contracts your applications and partners rely on while you move those applications to Quarkus: Quarkus CXF brings Apache CXF and the JAX-WS programming model to the Quarkus runtime, with full support for GraalVM native images.

Instead of rewriting a working SOAP integration as REST, or leaving it on an application server you no longer want to run, you carry the existing WSDL contract and JAX-WS code into a Quarkus application that starts fast and compiles to a GraalVM native image.

While Apache CXF implements wide range of standards and specifications, Quarkus CXF is currently focusing only on supporting the ones related to Simple Object Access Protocol (SOAP) and Java API for XML Web Services (JAX-WS). Refer to Reference to learn which parts of CXF are supported.

What you get

  • JAX-WS services and clients. Your existing WSDL contracts and JAX-WS code carry over.

  • Contract-first and code-first development. wsdl2java and java2ws run inside the Quarkus Maven plugin, so a changed WSDL is picked up by the normal build rather than by a separate tool step.

  • The standards enterprise contracts commonly require. WS-Security, WS-SecurityPolicy, WS-ReliableMessaging, and WS-Trust, through companion extensions.

  • Production insight. Micrometer metrics and OpenTelemetry tracing for your services and clients.

Where to go

  • User guide - explains the typical usage of Quarkus CXF

  • Security guide - documents various security related aspects of Quarkus CXF, such as SSL/TLS, Authentication and Authorization

  • Release notes - Release notes documents for the past releases

  • Release planning - when new releases of Quarkus CXF are to be expected

  • Reference - the full list of supported specifications, use cases and configuration options

Issues and support

Feel free to start a discussion or open an issue in the GitHub repository in case you need support. The following general guidelines can be used to determine whether to start a discussion or open an issue.

Contributions and pull requests from the community are welcome!