diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..58e7d2f --- /dev/null +++ b/README.md @@ -0,0 +1,102 @@ +# Overview +This component contains a number of general Apache Camel components which are intended for use by the data-router. + +# Maven Dependency +To make use of the Camel components included in this repository, include the following artifact in your dependencies list: + + <dependency> + <groupId>org.openecomp</groupId> + <artifactId>router-core</artifactId> + <version>1.0.0-SNAPSHOT</version> + </dependency> + +# How to Build: + + > mvn clean install + + +## Rest Client Component + +The REST client component provides a simple endpoint for sending HTTP requests to a REST endpoint. + +### URI Format + ecomp-rest:op[?options] + +Where, + +op = One of GET, PUT, POST, or DELETE + +### URI Options +The following option parameters must be passed in to the component for HTTPS communications: + +| Parameter | Description | +| --------- | ----------- | +| ecomp-client-cert | Fully qualified path to the client certificate to use for HTTPS communications. | +| ecomp-keystore | Fully qualified path to the keystore file to use for HTTP communications. | +| ecomp-keystore-password | Obfuscated password for the keystore. | + +### IN Message + +#### Ecomp-Rest Header Parameters +| Header Name | Description | +| ----------- | ----------- | +| ecomp-url | The fully qualified URL for the HTTP request to be send. This is mandatory. | + +#### HTTP Header Parameters +The following parameters, if they are present in the Exchange In Message Headers, will be included as header values +in the HTTP request generated by the component: + +| HTTP Header Name | +| ---------------- | +| X-FromAppId | +| X-TransactionId | +| resourceVersion | +| ETag | +| If-Match | +| If-None-Match | +| Accept | + +#### Message Body +For HTTP operations that require a content body, the body of the IN message will be used. + +### OUT Message + +#### Headers +The following header values are populated on the OUT message: + +| ecomp-response-code | The response code produced by the HTTP request. | +| ecomp-response-message | The response message produced by the HTTP request. | + +#### Message Body +For HTTP operations that produce a content body, the body of the OUT message will be populated with this result. + +### Example + +The following route file illustrates a simple example which takes console input and invokes the rest client, using the input from the +console as the content body for the REST request. + + + <route xmlns="http://camel.apache.org/schema/spring" trace="true"> + <!-- Take some input from the console. --> + <from uri="stream:in?promptMessage=Enter Something: " /> + + <!-- Set the URL that we want to send our REST request to. --> + <setHeader headerName="ecomp-url"> + <constant>https://localhost:9509/services/search-data-service/v1/search/indexes/gdf/documents/88</constant> + </setHeader> + + <!-- Set values for some HTTP headers that we want to populate for our reqeust. --> + <setHeader headerName="X-FromAppId"> + <constant>DataLayer</constant> + </setHeader> + <setHeader headerName="X-TransactionId"> + <constant>gdf1</constant> + </setHeader> + + <!-- Invoke the REST client, using our console input as the content body of our request. --> + <!-- Note that we provide the paths to the client certificate and keystore, as well as --> + <!-- the obfuscated password for the keystore. --> + <to uri="rest-client:put?ecompClientCert=c:/dev/dl_microservice/target/swm/package/nix/dist_files/opt/app/ajsc-aai-data-layer-microservice/bundleconfig/etc/auth/aai-client-cert.p12&ecompKeystore=c:/dev/dl_microservice/target/swm/package/nix/dist_files/opt/app/ajsc-aai-data-layer-microservice/bundleconfig/etc/auth/tomcat_keystore&ecompKeystorePassword=70c87528c88dcd9f9c2558d30e817868"/> + <to uri="stream:out" /> + + </route> |