Skip to content
Branch: master
Find file History
Type Name Latest commit message Commit time
Failed to load latest commit information.
karaf-soap-example-provider Update version to 4.3.0-SNAPSHOT Feb 11, 2019 Use LATEST for version in the examples Dec 15, 2018

Apache Karaf SOAP Example


This example shows how to use JAX-WS to implement a SOAP service.

This example uses blueprint to deal with the jaxws-server and Apache CXF as the implementation of the JAXWS specification.

It implements a BookingService with a SOAP WS implementation.

The "client" bundle uses the BookingService with a SOAP client stub.


  • karaf-soap-example-api is a common bundle containing the Booking POJO and the BookingService interface.
  • karaf-soap-example-provider is a blueprint bundle providing the BookingServiceSoap implementation of the BookingService interface.
  • karaf-soap-example-client is a CXF client to the BookingService SOAP.
  • karaf-soap-example-features provides a Karaf features repository used for the deployment.


The build uses Apache Maven. Simply use:

mvn clean install

Feature and Deployment

On a running Karaf instance, register the features repository using:

karaf@root()> feature:repo-add mvn:org.apache.karaf.examples/karaf-soap-example-features/LATEST/xml

Then, you can install the service provider feature:

karaf@root()> feature:install karaf-soap-example-provider

And the service client feature:

karaf@root()> feature:install karaf-soap-example-client


You can take a look on the WSDL generated for our SOAP WS:


The client feature installs booking:* commands. You can add a new booking using the booking:add command:

karaf@root()> booking:add 1 TEST TEST

The booking:list command displays the list of bookings:

karaf@root()> booking:list
ID | Flight | Customer
1  | TEST   | TEST

These commands use a CXF SOAP WebService client to interact with the Booking WebService.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.