1.2. Running the Demonstrations


Building the demonstrations

Use Apache Maven to build the demonstrations. Open a new command prompt, change directory to DemoDir/src/fuse-webinars/cxf-webinars, and enter the following command:
mvn install
Copy to Clipboard Toggle word wrap
This command builds all of the demonstrations under the cxf-webinars directory (where the demonstrations are defined to be submodules of the cxf-webinars/pom.xml project). While Maven is building the demonstration code, it downloads whatever dependencies it needs from the Internet and installs them in the local Maven repository.
Start and configure the Red Hat JBoss Fuse container as follows:
  1. (Optional) If your local Maven repository is in a non-standard location, you might need to edit the JBoss Fuse configuration to specify your custom location. Edit the InstallDir/etc/org.ops4j.pax.url.mvn.cfg file and set the org.ops4j.pax.url.mvn.localRepository property to the location of your local Maven repository:
    #
    # Path to the local maven repository which is used to avoid downloading
    # artifacts when they already exist locally.
    # The value of this property will be extracted from the settings.xml file
    # above, or defaulted to:
    #     System.getProperty( "user.home" ) + "/.m2/repository"
    #
    #org.ops4j.pax.url.mvn.localRepository=
    org.ops4j.pax.url.mvn.localRepository=file:E:/Data/.m2/repository
    Copy to Clipboard Toggle word wrap
  2. Launch the JBoss Fuse container. Open a new command prompt, change directory to InstallDir/bin, and enter the following command:
    ./fuse
    Copy to Clipboard Toggle word wrap
  3. For convenience, each of the demonstrations can be deployed into the JBoss Fuse container as an Apache Karaf feature (which automatically installs any required dependencies along with the demonstration bundle). But first, you must specify the location of the features repository, by entering the following console command:
    JBossFuse:karaf@root> features:addUrl mvn:org.fusesource.sparks.fuse-webinars.cxf-webinars/customer-features/Version/xml
    Copy to Clipboard Toggle word wrap
    Where Version is the current version of the demonstration package (see the value of the project/version element in the DemoDir/src/pom.xml file).

Demonstration features

The following features are now available from the JBoss Fuse console (where you can enter the command, features:list | grep customer to check the status of these features):
customer-ws
customer-ws-client
customer-ws-cxf-payload
customer-ws-cxf-pojo
customer-ws-cxf-provider
Copy to Clipboard Toggle word wrap

Running the customer-ws-osgi-bundle demonstration

It is now a relatively straightforward task to run each of the demonstrations by installing the relevant features.
For example, to start up the WSDL-first Web service (discussed in Chapter 3, WSDL-First Service Implementation), enter the following console command:
JBossFuse:karaf@root> features:install customer-ws
Copy to Clipboard Toggle word wrap
To see the Web service in action, start up the sample Web service client (discussed in Chapter 4, Implementing a WS Client), by entering the following console command:
JBossFuse:karaf@root> features:install customer-ws-client
Copy to Clipboard Toggle word wrap
The bundle creates a thread that invokes the Web service once a second and logs the response. View the log by entering the following console command:
JBossFuse:karaf@root> log:tail -n 4
Copy to Clipboard Toggle word wrap
You should see log output like the following:
18:03:58,609 | INFO  | qtp5581640-231   | CustomerServiceImpl              | ?                                   ? |
 218 - org.fusesource.sparks.fuse-webinars.cxf-webinars.customer-ws-osgi-bundle - 1.1.4 | Getting status for custome
 r 1234
18:03:58,687 | INFO  |  invoker thread. | ClientInvoker                    | ?                                   ? |
 219 - org.fusesource.sparks.fuse-webinars.cxf-webinars.customer-ws-client - 1.1.4 | Got back: status = Active, stat
 usMessage = In the park, playing with my frisbee.
18:04:00,687 | INFO  | qtp5581640-232   | CustomerServiceImpl              | ?                                   ? |
 218 - org.fusesource.sparks.fuse-webinars.cxf-webinars.customer-ws-osgi-bundle - 1.1.4 | Getting status for custome
 r 1234
18:04:00,703 | INFO  |  invoker thread. | ClientInvoker                    | ?                                   ? |
 219 - org.fusesource.sparks.fuse-webinars.cxf-webinars.customer-ws-client - 1.1.4 | Got back: status = Active, stat
 usMessage = In the park, playing with my frisbee.
Copy to Clipboard Toggle word wrap
To stop viewing the log, type the interrupt character (usually Ctrl-C).
To stop the client, first discover the client's bundle ID using the osgi:list console command. For example:
JBossFuse:karaf@root> list | grep customer-ws-client
[ 219] [Active     ] [            ] [Started] [   60] customer-ws-client (1.1.4)
Copy to Clipboard Toggle word wrap
You can then stop the client using the osgi:stop console command. For example:
JBossFuse:karaf@root> stop 219
Copy to Clipboard Toggle word wrap
To shut down the container completely, enter the following console command:
JBossFuse:karaf@root> shutdown -f
Copy to Clipboard Toggle word wrap
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat