All Downloads are FREE. Search and download functionalities are using the official Maven repository.

archetype-resources.README.md Maven / Gradle / Ivy

Go to download

Creates a new CXF JAX-RS using CDI running in a standalone Java Container

There is a newer version: 2.2.197
Show newest version
#set( $H = '##' )
# CDI CXF QuickStart

This quick start demonstrates how to create a RESTful (JAX-RS) web service using Apache CXF and expose it using CDI running in a stand alone Java applicaiton.

The REST service provides a customer service that supports the following operations
 
- PUT /customerservice/customers/ - to create or update a customer
- GET /customerservice/customers/{id} - to view a customer with the given id
- DELETE /customerservice/customers/{id} - to delete a customer with the given id
- GET /customerservice/orders/{orderId} - to view an order with the given id
- GET /customerservice/orders/{orderId}/products/{productId} - to view a specific product on an order with the given id

When the application is deployed, you can access the REST service using a web browser.


${H}# Building

The example can be built with

    mvn clean install


${H}# Running the example locally

The example can be run locally using the following Maven goal:

    mvn clean install exec:java


${H}# Running the example in Kubernetes

It is assumed a running Kubernetes platform is already running and that you will deploy the microservice within the `default` namespace. If not you can find details how to [get started](http://fabric8.io/guide/getStarted/index.html).

The example can be built and deployed using a single goal:

    mvn fabric8:run

When the example runs in fabric8, you can use the OpenShift client tool to inspect the status at the condition to be connected to the OpenShift platform `oc login`

To list all the running pods:

    oc get pods

Then find the name of the pod that runs this quickstart, and output the logs from the running pods with:

    oc logs 

You can also use the fabric8 [web console](http://fabric8.io/guide/console.html) to manage the
running pods, and view logs and much more.


${H}# Access services using a web browser

You can use any browser to perform a HTTP GET.  This allows you to very easily test a few of the RESTful services we defined:

Notice: As it depends on your OpenShift setup, the hostname (route) might vary. Verify with `oc get routes` which 
hostname is valid for you

Use this URL to display the root of the REST service, which also allows to access the WADL of the service:

    http://cdi-cxf-default.vagrant.f8/cxfcdi

Use this URL to display the XML representation for customer 123:

    http://cdi-cxf-default.vagrant.f8/cxfcdi/customerservice/customers/123

You can also access the XML representation for order 223 ...

    http://cdi-cxf-default.vagrant.f8/rest/cxf/customerservice/customers/123

**Note:** if you use Safari, you will only see the text elements but not the XML tags - you can view the entire document with 'View Source'


${H}# To run a command-line utility:

You can use a command-line utility, such as cURL or wget, to perform the HTTP requests.  We have provided a few files with sample XML representations in `src/test/resources`, so we will use those for testing our services.

1. Open a command prompt and change directory to `cxf-cdi`.
2. Run the following curl commands (curl commands may not be available on all platforms):
    
    * Create a customer
 
            curl -X POST -T src/test/resources/add_customer.xml -H "Content-Type: application/xml" http://cdi-cxf-default.vagrant.f8/cxfcdi/customerservice/customers
  
    * Retrieve the customer instance with id 123
    
            curl http://cdi-cxf-default.vagrant.f8/cxfcdi/cxfcdi/customerservice/customers/123

    * Update the customer instance with id 123
  
            curl -X PUT -T src/test/resources/update_customer.xml -H "Content-Type: application/xml" http://cdi-cxf-default.vagrant.f8/cxfcdi/customerservice/customers

    * Delete the customer instance with id 123
  
             curl -X DELETE http://cdi-cxf-default.vagrant.f8/cxfcdi/customerservice/customers/123


${H}# More details

You can find more details about running this [quickstart](http://fabric8.io/guide/quickstarts/running.html) on the website. This also includes instructions how to change the Docker image user and registry.





© 2015 - 2024 Weber Informatics LLC | Privacy Policy