You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/03/24 14:05:03 UTC

[camel-karaf] branch master updated (bc77428 -> a51eee1)

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel-karaf.git.


    from bc77428  CAMEL-14629: Fix installing camel on karaf due to JAXB import range. Lower it to 2.2 so it works on older Karaf.
     new 0d9492e  Camel-test-blueprint: Use camel-blueprint from camel-karaf
     new cc8a599  Camel-Karaf: Correctly setting up DependenciesManagement
     new f661c85  Camel-Karaf: Added tests/camel-blueprint-cxf-test
     new 2f87fe0  Camel-Karaf: Added tests/camel-blueprin-test
     new 29e61e8  Camel-CXF-Blueprint: Use the camel-blueprint with the correct groupId
     new bb505da  Fixed camel-test-blueprint tests
     new a51eee1  Camel-CXF-Transport-Blueprint: Use the camel-blueprint with the correct groupId

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 components/camel-cxf-blueprint/pom.xml             |   2 +-
 components/camel-cxf-transport-blueprint/pom.xml   |   2 +-
 components/camel-test-blueprint/pom.xml            |   2 +-
 .../test/blueprint/BlueprintPropertiesTest.java    |   2 +-
 pom.xml                                            |  14 +-
 tests/camel-blueprint-cxf-test/pom.xml             | 219 +++++++++++++++++++++
 .../src/main/resources/META-INF/LICENSE.txt        |   0
 .../src/main/resources/META-INF/NOTICE.txt         |   0
 .../apache/camel/component/cxf/CXFTestSupport.java |  83 ++++++++
 .../apache/camel/component/cxf/HelloService.java   |  24 ++-
 .../camel/component/cxf/HelloServiceImpl.java      |  36 ++--
 .../component/cxf/jaxrs/testbean/Customer.java     |  75 +++++++
 .../cxf/jaxrs/testbean/CustomerService.java        | 148 ++++++++++++++
 .../jaxrs/testbean/CustomerServiceResource.java    |  25 ++-
 .../camel/component/cxf/jaxrs/testbean/Order.java  |  67 +++++++
 .../component/cxf/jaxrs/testbean/Product.java      |  26 +--
 .../test/cxf/blueprint/CxfConsumerSoap12Test.java  |  85 ++++++++
 .../test/cxf/blueprint/CxfConsumerWSRMTest.java    |  77 ++++++++
 .../test/cxf/blueprint/CxfEndpointBeansTest.java   | 132 +++++++++++++
 .../blueprint/CxfPayloadProviderRouterTest.java    | 129 ++++++++++++
 .../test/cxf/blueprint/CxfRsEndpointBeansTest.java |  98 +++++++++
 .../cxf/blueprint/CxfTransportBlueprintTest.java   |  33 ++--
 .../camel/test/cxf/blueprint/MyProcessor.java      |  35 ++--
 .../src/test/resources/log4j2.properties           |  16 +-
 .../test/cxf/blueprint/CxfConsumerSoap12Beans.xml  |  33 ++--
 .../test/cxf/blueprint/CxfConsumerWSRMBeans.xml    |  99 ++++++++++
 .../camel/test/cxf/blueprint/CxfEndpointBeans.xml  | 113 +++++++++++
 .../blueprint/CxfPayloadProviderRouterBeans.xml    |  76 +++++++
 .../test/cxf/blueprint/CxfRsEndpointBeans.xml      |  79 ++++++++
 .../camel/test/cxf/blueprint/CxfTransportBeans.xml |  41 ++--
 .../camel-blueprint-test}/pom.xml                  |  55 +-----
 ...eprintResolveComponentFromCamelContextTest.java |  25 +--
 .../builder/AddComponentInConfigureBuilder.java    |  14 +-
 .../test-resolve-component-from-camel-context.xml  |   8 +-
 {catalog => tests}/pom.xml                         |  44 ++++-
 35 files changed, 1726 insertions(+), 191 deletions(-)
 create mode 100644 tests/camel-blueprint-cxf-test/pom.xml
 copy {tooling/camel-karaf-docs-maven-plugin => tests/camel-blueprint-cxf-test}/src/main/resources/META-INF/LICENSE.txt (100%)
 copy {tooling/camel-karaf-docs-maven-plugin => tests/camel-blueprint-cxf-test}/src/main/resources/META-INF/NOTICE.txt (100%)
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/CXFTestSupport.java
 copy components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/builder/AbstractRouteBuilder.java => tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/HelloService.java (71%)
 copy platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/internal/StringEscape.java => tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/HelloServiceImpl.java (58%)
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Customer.java
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/CustomerService.java
 copy components/camel-cxf-transport-blueprint/src/main/java/org/apache/camel/component/cxf/transport/blueprint/CamelConduitDefinitionParser.java => tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/CustomerServiceResource.java (62%)
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Order.java
 copy components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/Foo.java => tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Product.java (64%)
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfConsumerSoap12Test.java
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfConsumerWSRMTest.java
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfEndpointBeansTest.java
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfPayloadProviderRouterTest.java
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfRsEndpointBeansTest.java
 copy components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/IgnoreDatatypesTest.java => tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfTransportBlueprintTest.java (50%)
 copy components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintBeanInjectRoute.java => tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/MyProcessor.java (56%)
 copy {core/camel-core-osgi => tests/camel-blueprint-cxf-test}/src/test/resources/log4j2.properties (76%)
 copy components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/ignoreDatatypes.xml => tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfConsumerSoap12Beans.xml (58%)
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfConsumerWSRMBeans.xml
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfEndpointBeans.xml
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfPayloadProviderRouterBeans.xml
 create mode 100644 tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfRsEndpointBeans.xml
 copy components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/ignoreDatatypes.xml => tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfTransportBeans.xml (51%)
 copy {catalog/camel-catalog-provider-karaf => tests/camel-blueprint-test}/pom.xml (58%)
 copy components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/component/rest/FromRestGetOnExceptionTest.java => tests/camel-blueprint-test/src/test/java/org/apache/camel/blueprint/BlueprintResolveComponentFromCamelContextTest.java (58%)
 copy components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/scan/MyCoolRoute.java => tests/camel-blueprint-test/src/test/java/org/apache/camel/blueprint/test/builder/AddComponentInConfigureBuilder.java (73%)
 copy components/camel-blueprint/src/test/resources/test.xml => tests/camel-blueprint-test/src/test/resources/OSGI-INF/blueprint/test-resolve-component-from-camel-context.xml (80%)
 copy {catalog => tests}/pom.xml (63%)


[camel-karaf] 02/07: Camel-Karaf: Correctly setting up DependenciesManagement

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-karaf.git

commit cc8a599aca47691cdb0d9f7d2b5c4e6d8a9147b1
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Mar 24 13:08:31 2020 +0100

    Camel-Karaf: Correctly setting up DependenciesManagement
---
 pom.xml | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 2faefc6..1137571 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,8 +77,8 @@
         <module>components</module>
         <module>catalog</module>
         <module>platforms</module>
-        <!--<module>tests</module>
-        <module>examples</module>
+        <module>tests</module>
+        <!--<module>examples</module>
         <module>docs</module>-->
     </modules>
 
@@ -851,6 +851,16 @@
     <dependencyManagement>
         <dependencies>
             <dependency>
+                <groupId>org.apache.camel.karaf</groupId>
+                <artifactId>camel-blueprint</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.karaf</groupId>
+                <artifactId>camel-test-blueprint</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-parent</artifactId>
                 <version>${camel-version}</version>


[camel-karaf] 04/07: Camel-Karaf: Added tests/camel-blueprin-test

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-karaf.git

commit 2f87fe04783beac5e013b6d209f10ae3f02a2eba
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Mar 24 13:10:35 2020 +0100

    Camel-Karaf: Added tests/camel-blueprin-test
---
 tests/camel-blueprint-test/pom.xml                 | 64 ++++++++++++++++++++++
 ...eprintResolveComponentFromCamelContextTest.java | 43 +++++++++++++++
 .../builder/AddComponentInConfigureBuilder.java    | 30 ++++++++++
 .../test-resolve-component-from-camel-context.xml  | 28 ++++++++++
 tests/pom.xml                                      |  1 +
 5 files changed, 166 insertions(+)

diff --git a/tests/camel-blueprint-test/pom.xml b/tests/camel-blueprint-test/pom.xml
new file mode 100644
index 0000000..aab8365
--- /dev/null
+++ b/tests/camel-blueprint-test/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel.karaf</groupId>
+        <artifactId>tests</artifactId>
+        <version>3.2.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-blueprint-test</artifactId>
+    <name>Camel Karaf :: Integration Tests :: Blueprint</name>
+    <description>Tests the camel-blueprint features</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.karaf</groupId>
+            <artifactId>camel-blueprint</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.karaf</groupId>
+            <artifactId>camel-test-blueprint</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- logging -->
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+</project>
diff --git a/tests/camel-blueprint-test/src/test/java/org/apache/camel/blueprint/BlueprintResolveComponentFromCamelContextTest.java b/tests/camel-blueprint-test/src/test/java/org/apache/camel/blueprint/BlueprintResolveComponentFromCamelContextTest.java
new file mode 100644
index 0000000..8f8d7ba
--- /dev/null
+++ b/tests/camel-blueprint-test/src/test/java/org/apache/camel/blueprint/BlueprintResolveComponentFromCamelContextTest.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.blueprint;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
+import org.junit.Test;
+
+public class BlueprintResolveComponentFromCamelContextTest extends CamelBlueprintTestSupport {
+
+    @EndpointInject("mock://result")
+    MockEndpoint result;
+
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "OSGI-INF/blueprint/test-resolve-component-from-camel-context.xml";
+    }
+
+    @Test
+    public void testResolveComponentFromCamelContext() throws Exception {
+        result.expectedMinimumMessageCount(1);
+
+        // The route is driven by a timer, so we should receive at least one message within 5 seconds
+        assertMockEndpointsSatisfied(5, TimeUnit.SECONDS);
+    }
+}
diff --git a/tests/camel-blueprint-test/src/test/java/org/apache/camel/blueprint/test/builder/AddComponentInConfigureBuilder.java b/tests/camel-blueprint-test/src/test/java/org/apache/camel/blueprint/test/builder/AddComponentInConfigureBuilder.java
new file mode 100644
index 0000000..4edd456
--- /dev/null
+++ b/tests/camel-blueprint-test/src/test/java/org/apache/camel/blueprint/test/builder/AddComponentInConfigureBuilder.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.blueprint.test.builder;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.timer.TimerComponent;
+
+public class AddComponentInConfigureBuilder extends RouteBuilder {
+    @Override
+    public void configure() throws Exception {
+        getContext().addComponent("my-timer", new TimerComponent());
+
+        from("my-timer://test-timer?period=1000")
+                .to("mock://result");
+    }
+}
diff --git a/tests/camel-blueprint-test/src/test/resources/OSGI-INF/blueprint/test-resolve-component-from-camel-context.xml b/tests/camel-blueprint-test/src/test/resources/OSGI-INF/blueprint/test-resolve-component-from-camel-context.xml
new file mode 100644
index 0000000..ad7de52
--- /dev/null
+++ b/tests/camel-blueprint-test/src/test/resources/OSGI-INF/blueprint/test-resolve-component-from-camel-context.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
+
+    <bean id="test-builder" class="org.apache.camel.blueprint.test.builder.AddComponentInConfigureBuilder"/>
+
+    <camelContext xmlns="http://camel.apache.org/schema/blueprint">
+        <routeBuilder ref="test-builder"/>
+    </camelContext>
+
+</blueprint>
diff --git a/tests/pom.xml b/tests/pom.xml
index 649e64f..873e96a 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -39,6 +39,7 @@
 
     <modules>
         <module>camel-blueprint-cxf-test</module>
+        <module>camel-blueprint-test</module>
     </modules>
 
     <build>


[camel-karaf] 05/07: Camel-CXF-Blueprint: Use the camel-blueprint with the correct groupId

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-karaf.git

commit 29e61e86fe2da413fd8a82c2bf3c66223ada3bb0
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Mar 24 13:43:04 2020 +0100

    Camel-CXF-Blueprint: Use the camel-blueprint with the correct groupId
---
 components/camel-cxf-blueprint/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/camel-cxf-blueprint/pom.xml b/components/camel-cxf-blueprint/pom.xml
index ecd2499..5770ddd 100644
--- a/components/camel-cxf-blueprint/pom.xml
+++ b/components/camel-cxf-blueprint/pom.xml
@@ -47,7 +47,7 @@
 
         <!-- OSGi, Blueprint -->
         <dependency>
-            <groupId>org.apache.camel</groupId>
+            <groupId>org.apache.camel.karaf</groupId>
             <artifactId>camel-blueprint</artifactId>
             <scope>provided</scope>
             <optional>true</optional>


[camel-karaf] 06/07: Fixed camel-test-blueprint tests

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-karaf.git

commit bb505da9d44862e7dcafc3f045752aaaa813646b
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Mar 24 14:57:20 2020 +0100

    Fixed camel-test-blueprint tests
---
 .../java/org/apache/camel/test/blueprint/BlueprintPropertiesTest.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesTest.java b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesTest.java
index aef19d3..fa8b2cb 100644
--- a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesTest.java
+++ b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesTest.java
@@ -34,7 +34,7 @@ public class BlueprintPropertiesTest extends CamelBlueprintTestSupport {
 
     @Test
     public void testProperties() throws Exception {
-        Bundle camelCore = getBundleBySymbolicName("org.apache.camel.camel-blueprint");
+        Bundle camelCore = getBundleBySymbolicName("org.apache.camel.karaf.camel-blueprint");
         Bundle test = getBundleBySymbolicName(getClass().getSimpleName());
 
         camelCore.stop();


[camel-karaf] 01/07: Camel-test-blueprint: Use camel-blueprint from camel-karaf

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-karaf.git

commit 0d9492e3bacb123f7b1aed647038323a2c819a40
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Mar 24 12:55:50 2020 +0100

    Camel-test-blueprint: Use camel-blueprint from camel-karaf
---
 components/camel-test-blueprint/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/camel-test-blueprint/pom.xml b/components/camel-test-blueprint/pom.xml
index 38c35e2..54e4373 100644
--- a/components/camel-test-blueprint/pom.xml
+++ b/components/camel-test-blueprint/pom.xml
@@ -63,7 +63,7 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.camel</groupId>
+            <groupId>org.apache.camel.karaf</groupId>
             <artifactId>camel-blueprint</artifactId>
             <!-- exclude aries blueprint as we add these dependencies explicit -->
             <exclusions>


[camel-karaf] 03/07: Camel-Karaf: Added tests/camel-blueprint-cxf-test

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-karaf.git

commit f661c8510a0529117f5ee99dc04c395adc963eb8
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Mar 24 13:09:02 2020 +0100

    Camel-Karaf: Added tests/camel-blueprint-cxf-test
---
 tests/camel-blueprint-cxf-test/pom.xml             | 219 +++++++++++++++++++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 +++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 ++
 .../apache/camel/component/cxf/CXFTestSupport.java |  83 ++++++++
 .../apache/camel/component/cxf/HelloService.java   |  34 ++++
 .../camel/component/cxf/HelloServiceImpl.java      |  56 ++++++
 .../component/cxf/jaxrs/testbean/Customer.java     |  75 +++++++
 .../cxf/jaxrs/testbean/CustomerService.java        | 148 ++++++++++++++
 .../jaxrs/testbean/CustomerServiceResource.java    |  37 ++++
 .../camel/component/cxf/jaxrs/testbean/Order.java  |  67 +++++++
 .../component/cxf/jaxrs/testbean/Product.java      |  41 ++++
 .../test/cxf/blueprint/CxfConsumerSoap12Test.java  |  85 ++++++++
 .../test/cxf/blueprint/CxfConsumerWSRMTest.java    |  77 ++++++++
 .../test/cxf/blueprint/CxfEndpointBeansTest.java   | 132 +++++++++++++
 .../blueprint/CxfPayloadProviderRouterTest.java    | 129 ++++++++++++
 .../test/cxf/blueprint/CxfRsEndpointBeansTest.java |  98 +++++++++
 .../cxf/blueprint/CxfTransportBlueprintTest.java   |  48 +++++
 .../camel/test/cxf/blueprint/MyProcessor.java      |  43 ++++
 .../src/test/resources/log4j2.properties           |  30 +++
 .../test/cxf/blueprint/CxfConsumerSoap12Beans.xml  |  59 ++++++
 .../test/cxf/blueprint/CxfConsumerWSRMBeans.xml    |  99 ++++++++++
 .../camel/test/cxf/blueprint/CxfEndpointBeans.xml  | 113 +++++++++++
 .../blueprint/CxfPayloadProviderRouterBeans.xml    |  76 +++++++
 .../test/cxf/blueprint/CxfRsEndpointBeans.xml      |  79 ++++++++
 .../camel/test/cxf/blueprint/CxfTransportBeans.xml |  53 +++++
 tests/pom.xml                                      |  93 +++++++++
 26 files changed, 2188 insertions(+)

diff --git a/tests/camel-blueprint-cxf-test/pom.xml b/tests/camel-blueprint-cxf-test/pom.xml
new file mode 100644
index 0000000..19461fa
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/pom.xml
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel.karaf</groupId>
+        <artifactId>tests</artifactId>
+        <version>3.2.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-blueprint-cxf-test</artifactId>
+    <name>Camel Karaf :: Integration Tests :: Blueprint CXF Tests</name>
+    <description>Tests the camel-cxf blueprint features</description>
+
+    <properties>
+        <skipTests>true</skipTests>
+    </properties>
+
+    <dependencies>
+        <!-- assuming camel is pulling aries 1.0.0, pull asm 4.0 first -->
+        <dependency>
+            <groupId>org.ow2.asm</groupId>
+            <artifactId>asm-all</artifactId>
+            <version>5.2</version>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- TODO OSGi hell with starting up Karaf 4.x for this test -->
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-http</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.karaf.jaas</groupId>
+            <artifactId>org.apache.karaf.jaas.jasypt</artifactId>
+            <version>${karaf4-version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.karaf.jaas</groupId>
+            <artifactId>org.apache.karaf.jaas.boot</artifactId>
+            <version>${karaf4-version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jasypt</groupId>
+            <artifactId>jasypt</artifactId>
+            <version>${jasypt-version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.karaf</groupId>
+            <artifactId>camel-test-blueprint</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!-- exclude bluerprint from camel-cxf as we have them already from camel-blueprint
+             and we need to avoid duplicate JARs in the classpath as then blueprint start up twice -->
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-cxf</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.aries.blueprint</groupId>
+                    <artifactId>org.apache.aries.blueprint.core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.aries.blueprint</groupId>
+                    <artifactId>org.apache.aries.blueprint.api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.aries.quiesce</groupId>
+                    <artifactId>org.apache.aries.quiesce.api</artifactId>
+                </exclusion>
+                <!--  exclude additional unneeded components -->
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-spring</artifactId>
+                </exclusion>
+            </exclusions>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-transports-http</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-bindings-soap</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-transports-http-jetty</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-features-clustering</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-testutils</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!-- for ws-* tests -->
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-ws-addr</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-ws-policy</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-ws-rm</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!-- for jaxrs providers test -->
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-rs-extension-providers</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.jettison</groupId>
+            <artifactId>jettison</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!--  osgi -->
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi.core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi.cmpn</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- logging -->
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <profiles>
+        <profile>
+            <id>java9+</id>
+            <activation>
+                <jdk>[9,)</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <excludes>
+                                <!--ignore tests until CXF-7520 is resolved and released-->
+                                <exclude>**/**</exclude>
+                            </excludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
diff --git a/tests/camel-blueprint-cxf-test/src/main/resources/META-INF/LICENSE.txt b/tests/camel-blueprint-cxf-test/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/tests/camel-blueprint-cxf-test/src/main/resources/META-INF/NOTICE.txt b/tests/camel-blueprint-cxf-test/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/CXFTestSupport.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/CXFTestSupport.java
new file mode 100644
index 0000000..89148f2
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/CXFTestSupport.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cxf;
+
+import org.apache.camel.test.AvailablePortFinder;
+
+/**
+ * For test cases that use unique contexts, they can share the 
+ * ports which will make things a bit faster as ports aren't opened
+ * and closed all the time. 
+ */
+/*
+ * REVIST this class is a copy of the same named class in org.apache.camel.component.cxf's test folder.
+ * It should go into some reusable test-util jar so that it can be used from other test packages 
+ */
+public final class CXFTestSupport {
+
+    static final int PORT1 = AvailablePortFinder.getNextAvailable();  
+    static final int PORT2 = AvailablePortFinder.getNextAvailable();  
+    static final int PORT3 = AvailablePortFinder.getNextAvailable();  
+    static final int PORT4 = AvailablePortFinder.getNextAvailable();  
+    static final int PORT5 = AvailablePortFinder.getNextAvailable();  
+    static final int PORT6 = AvailablePortFinder.getNextAvailable();
+
+    static {
+        //set them as system properties so Spring can use the property placeholder
+        //things to set them into the URL's in the spring contexts 
+        System.setProperty("CXFTestSupport.port1", Integer.toString(PORT1));
+        System.setProperty("CXFTestSupport.port2", Integer.toString(PORT2));
+        System.setProperty("CXFTestSupport.port3", Integer.toString(PORT3));
+        System.setProperty("CXFTestSupport.port4", Integer.toString(PORT4));
+        System.setProperty("CXFTestSupport.port5", Integer.toString(PORT5));
+        System.setProperty("CXFTestSupport.port6", Integer.toString(PORT6));
+        System.setProperty("org.apache.cxf.transports.http_jetty.DontClosePort", "true");
+    }
+    
+    private CXFTestSupport() {
+    }
+    
+    public static int getPort(String name) {
+        int port = AvailablePortFinder.getNextAvailable();
+        System.setProperty(name, Integer.toString(port));
+        return port;
+    }
+    
+    public static int getPort1() {
+        return PORT1;
+    }
+
+    public static int getPort2() {
+        return PORT2;
+    }
+
+    public static int getPort3() {
+        return PORT3;
+    }
+
+    public static int getPort4() {
+        return PORT4;
+    }
+
+    public static int getPort5() {
+        return PORT5;
+    }
+
+    public static int getPort6() {
+        return PORT6;
+    }
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/HelloService.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/HelloService.java
new file mode 100644
index 0000000..cc4f1ed
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/HelloService.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cxf;
+
+import java.util.List;
+
+public interface HelloService {
+    String sayHello();
+
+    void ping();
+
+    int getInvocationCount();
+
+    String echo(String text) throws Exception;
+
+    Boolean echoBoolean(Boolean bool);
+    
+    String complexParameters(List<String> par1, List<String> par2);
+    
+}
\ No newline at end of file
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/HelloServiceImpl.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/HelloServiceImpl.java
new file mode 100644
index 0000000..a016eee
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/HelloServiceImpl.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cxf;
+
+import java.util.List;
+
+public class HelloServiceImpl implements HelloService {
+    int count;
+
+    @Override
+    public String sayHello() {
+        return "Hello";
+    }
+
+    @Override
+    public void ping() {
+        count++;
+        
+    }
+
+    @Override
+    public int getInvocationCount() {
+        return count;
+    }
+
+    @Override
+    public String echo(String text) throws Exception {
+        return text;
+    }
+
+    @Override
+    public Boolean echoBoolean(Boolean bool) {
+        return bool;
+    }
+
+    @Override
+    public String complexParameters(List<String> par1, List<String> par2) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Customer.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Customer.java
new file mode 100644
index 0000000..e0b740c
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Customer.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cxf.jaxrs.testbean;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.camel.util.ObjectHelper;
+
+@XmlRootElement(name = "Customer")
+public class Customer {
+    private long id;
+    private String name;
+
+    public Customer() {
+    }
+
+    public Customer(long id, String name) {
+        setId(id);
+        setName(name);
+    }
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + (int) (id ^ (id >>> 32));
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (!(obj instanceof Customer)) {
+            return false;
+        }
+
+        if (this == obj) {
+            return true;
+        }
+
+        Customer other = (Customer) obj;
+        return id == other.id && ObjectHelper.equal(name, other.name);
+    }
+
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/CustomerService.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/CustomerService.java
new file mode 100644
index 0000000..5ddd9c9
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/CustomerService.java
@@ -0,0 +1,148 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cxf.jaxrs.testbean;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicLong;
+
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Response;
+
+@Path("/customerservice/")
+public class CustomerService {
+    private final AtomicLong currentId = new AtomicLong(123L);
+    private final Map<Long, Customer> customers = new ConcurrentHashMap<>();
+    private final Map<Long, Order> orders = new ConcurrentHashMap<>();
+
+    public CustomerService() {
+        init();
+    }
+
+    @GET
+    @Path("/customers/{id}/")
+    public Customer getCustomer(@PathParam("id") String id) {
+        long idNumber = Long.parseLong(id);
+        Customer c = customers.get(idNumber);
+        return c;
+    }
+    
+    @GET
+    @Path("/customers")
+    public Customer getCustomerByQueryParam(@QueryParam("id") String id) {
+        long idNumber = Long.parseLong(id);
+        Customer c = customers.get(idNumber);
+        return c;
+    }
+    
+    @GET
+    @Path("/customers/")
+    @Produces("application/xml")
+    public List<Customer> getCustomers() {
+        List<Customer> list = new ArrayList<>(customers.values());
+        return list;
+    }
+    
+
+    @PUT
+    @Path("/customers/")
+    public Response updateCustomer(Customer customer) {
+        Customer c = customers.get(customer.getId());
+        Response r;
+        if (c != null) {
+            customers.put(customer.getId(), customer);
+            r = Response.ok().build();
+        } else {
+            r = Response.status(406).entity("Cannot find the customer!").build();
+        }
+
+        return r;
+    }
+
+    @POST
+    @Path("/customers/")
+    public Response addCustomer(Customer customer) {
+        customer.setId(currentId.incrementAndGet());
+
+        customers.put(customer.getId(), customer);
+        
+        return Response.ok(customer).build();
+    }
+    
+    @POST
+    @Path("/customersUniqueResponseCode/")
+    public Response addCustomerUniqueResponseCode(Customer customer) {
+        customer.setId(currentId.incrementAndGet());
+
+        customers.put(customer.getId(), customer);
+        
+        return Response.status(201).entity(customer).build();
+    }
+
+    @DELETE
+    @Path("/customers/{id}/")
+    public Response deleteCustomer(@PathParam("id") String id) {
+        long idNumber = Long.parseLong(id);
+        Customer c = customers.get(idNumber);
+
+        Response r;
+        if (c != null) {
+            r = Response.ok().build();
+            customers.remove(idNumber);
+        } else {
+            r = Response.notModified().build();
+        }
+        if (idNumber == currentId.get()) {
+            currentId.decrementAndGet();
+        }
+        return r;
+    }
+
+    @Path("/orders/{orderId}/")
+    public Order getOrder(@PathParam("orderId") String orderId) {
+        long idNumber = Long.parseLong(orderId);
+        Order c = orders.get(idNumber);
+        return c;
+    }
+
+    final void init() {
+        Customer c = new Customer();
+        c.setName("John");
+        c.setId(123);
+        customers.put(c.getId(), c);
+
+        c = new Customer();
+        c.setName("Dan");
+        c.setId(113);
+        customers.put(c.getId(), c);
+
+        Order o = new Order();
+        o.setDescription("order 223");
+        o.setId(223);
+        orders.put(o.getId(), o);
+    }
+
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/CustomerServiceResource.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/CustomerServiceResource.java
new file mode 100644
index 0000000..99ee8ed
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/CustomerServiceResource.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cxf.jaxrs.testbean;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.core.Response;
+
+// START SNIPPET: example
+@Path("/customerservice/")
+public interface CustomerServiceResource {
+
+    @GET
+    @Path("/customers/{id}/")
+    Customer getCustomer(@PathParam("id") String id);
+
+    @PUT
+    @Path("/customers/")
+    Response updateCustomer(Customer customer);
+}
+// END SNIPPET: example
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Order.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Order.java
new file mode 100644
index 0000000..4f01acb
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Order.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cxf.jaxrs.testbean;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement(name = "Order")
+public class Order {
+    private long id;
+    private String description;
+    private Map<Long, Product> products = new HashMap<>();
+
+    public Order() {
+        init();
+    }
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String d) {
+        this.description = d;
+    }
+
+    @GET
+    @Path("products/{productId}/")
+    public Product getProduct(@PathParam("productId")int productId) {
+        Product p = products.get(new Long(productId));
+        return p;
+    }
+
+    final void init() {
+        Product p = new Product();
+        p.setId(323);
+        p.setDescription("product 323");
+        products.put(p.getId(), p);
+    }
+
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Product.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Product.java
new file mode 100644
index 0000000..d363af1
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/component/cxf/jaxrs/testbean/Product.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cxf.jaxrs.testbean;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement(name = "Product")
+public class Product {
+    private long id;
+    private String description;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String d) {
+        this.description = d;
+    }
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfConsumerSoap12Test.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfConsumerSoap12Test.java
new file mode 100644
index 0000000..2bd643b
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfConsumerSoap12Test.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.cxf.blueprint;
+
+import java.util.Properties;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+
+import org.apache.camel.component.cxf.CXFTestSupport;
+import org.apache.camel.component.cxf.CxfEndpoint;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
+import org.apache.cxf.binding.BindingConfiguration;
+import org.apache.cxf.binding.soap.SoapBindingConfiguration;
+import org.apache.hello_world_soap_http.Greeter;
+import org.junit.Test;
+
+public class CxfConsumerSoap12Test extends CamelBlueprintTestSupport {
+    private static final QName SERVICE_NAME = new QName("http://apache.org/hello_world_soap_http",
+                                                "SOAPService");
+    private static final QName PORT_NAME = new QName("http://apache.org/hello_world_soap_http",
+                                                "SoapPort");
+
+    @Override
+    protected Properties useOverridePropertiesWithPropertiesComponent() {
+        Properties extra = new Properties();
+        extra.put("router.address", "http://localhost:" + CXFTestSupport.getPort1() + "/CxfConsumerSoap12Test/router");
+        return extra;
+    }
+    
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "org/apache/camel/test/cxf/blueprint/CxfConsumerSoap12Beans.xml";
+    }
+   
+    @Override
+    public boolean isCreateCamelContextPerClass() {
+        return true;
+    }
+    
+    @Test
+    public void testCxfEndpointBeanDefinitionParser() {
+        CxfEndpoint routerEndpoint = context.getEndpoint("routerEndpoint", CxfEndpoint.class);
+        assertEquals("Got the wrong endpoint address", routerEndpoint.getAddress(),
+                     "http://localhost:" + CXFTestSupport.getPort1() + "/CxfConsumerSoap12Test/router");
+        assertEquals("Got the wrong endpont service class", 
+                     "org.apache.hello_world_soap_http.Greeter", 
+                     routerEndpoint.getServiceClass().getName());
+        BindingConfiguration binding = routerEndpoint.getBindingConfig();
+        assertTrue("Got no soap binding", binding instanceof SoapBindingConfiguration);
+        assertEquals("Got the wrong soap version", "http://schemas.xmlsoap.org/wsdl/soap12/",
+                     ((SoapBindingConfiguration)binding).getVersion().getBindingId());
+        assertTrue("Mtom not enabled", ((SoapBindingConfiguration)binding).isMtomEnabled());
+    }
+    
+    @Test
+    public void testInvokeGreeter() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedMessageCount(1);
+
+        Service service = Service.create(SERVICE_NAME);
+        service.addPort(PORT_NAME, "http://www.w3.org/2003/05/soap/bindings/HTTP/", 
+                        "http://localhost:" + CXFTestSupport.getPort1() + "/CxfConsumerSoap12Test/router");
+        Greeter greeter = service.getPort(PORT_NAME, Greeter.class);
+        
+        greeter.greetMeOneWay("test");
+        
+        assertMockEndpointsSatisfied();
+    }
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfConsumerWSRMTest.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfConsumerWSRMTest.java
new file mode 100644
index 0000000..141975c
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfConsumerWSRMTest.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.cxf.blueprint;
+
+import java.util.Properties;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+
+import org.apache.camel.component.cxf.CXFTestSupport;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.hello_world_soap_http.Greeter;
+import org.junit.Test;
+
+public class CxfConsumerWSRMTest extends CamelBlueprintTestSupport {
+    private static final QName SERVICE_NAME = new QName("http://apache.org/hello_world_soap_http",
+                                                "SOAPService");
+    private static final QName PORT_NAME = new QName("http://apache.org/hello_world_soap_http",
+                                                "SoapPort");
+
+    @Override
+    protected Properties useOverridePropertiesWithPropertiesComponent() {
+        Properties extra = new Properties();
+        extra.put("router.address", "http://localhost:" + CXFTestSupport.getPort1() + "/CxfConsumerWSRMTest/router");
+        return extra;
+    }
+    
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "org/apache/camel/test/cxf/blueprint/CxfConsumerWSRMBeans.xml";
+    }
+   
+    @Override
+    public boolean isCreateCamelContextPerClass() {
+        return true;
+    }
+
+    @Test
+    public void testInvokeGreeter() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedMessageCount(1);
+
+        Bus clientBus = context.getRegistry().lookupByNameAndType("client-bus", Bus.class);
+        assertNotNull(clientBus);
+        
+        BusFactory.setThreadDefaultBus(clientBus);
+        try {
+            Service service = Service.create(SERVICE_NAME);
+            service.addPort(PORT_NAME, "http://schemas.xmlsoap.org/soap/",
+                            "http://localhost:" + CXFTestSupport.getPort1() + "/CxfConsumerWSRMTest/router"); 
+            Greeter greeter = service.getPort(PORT_NAME, Greeter.class);
+            
+            greeter.greetMeOneWay("test");
+        } finally {
+            BusFactory.setThreadDefaultBus(null);
+        }
+
+        assertMockEndpointsSatisfied();
+    }
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfEndpointBeansTest.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfEndpointBeansTest.java
new file mode 100644
index 0000000..1b05426
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfEndpointBeansTest.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.cxf.blueprint;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import javax.xml.namespace.QName;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.cxf.CXFTestSupport;
+import org.apache.camel.component.cxf.CxfEndpoint;
+import org.apache.camel.component.cxf.common.message.CxfConstants;
+import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
+import org.apache.camel.util.URISupport;
+import org.apache.cxf.clustering.FailoverFeature;
+import org.apache.cxf.transport.http.HTTPException;
+import org.junit.Test;
+
+public class CxfEndpointBeansTest extends CamelBlueprintTestSupport {
+
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "org/apache/camel/test/cxf/blueprint/CxfEndpointBeans.xml";
+    }
+
+    @Override
+    protected String getBundleDirectives() {
+        return "blueprint.aries.xml-validation:=false";
+    }
+
+    @Override
+    protected Properties useOverridePropertiesWithPropertiesComponent() {
+        Properties extra = new Properties();
+        extra.put("router.address", "http://localhost:" + CXFTestSupport.getPort1() + "/CxfEndpointBeansRouterTest/router");
+        extra.put("service.address", "http://localhost:" + CXFTestSupport.getPort2() + "/CxfEndpointBeansRouterTest/service");
+        extra.put("test.address", "http://localhost:" + CXFTestSupport.getPort3() + "/testEndpoint");
+        return extra;
+    }
+    
+    @Test
+    public void testCxfBusInjection() {
+        CxfEndpoint serviceEndpoint = context.getEndpoint("cxf:bean:serviceEndpoint", CxfEndpoint.class);
+        CxfEndpoint routerEndpoint = context.getEndpoint("cxf:bean:routerEndpoint", CxfEndpoint.class);
+        assertEquals("These endpoints don't share the same bus", serviceEndpoint.getBus().getId(), routerEndpoint.getBus().getId());
+    }
+    
+    @Test
+    public void testCxfFeatureSetting() {
+        CxfEndpoint routerEndpoint = context.getEndpoint("cxf:bean:routerEndpoint", CxfEndpoint.class);
+        assertEquals("Get a wrong size of features.", 1, routerEndpoint.getFeatures().size());
+        assertTrue("Get a wrong feature instance.", routerEndpoint.getFeatures().get(0) instanceof FailoverFeature);
+    }
+
+    
+    @Test
+    public void testCxfEndpointBeanDefinitionParser() {
+        CxfEndpoint routerEndpoint = context.getEndpoint("routerEndpoint", CxfEndpoint.class);
+        assertEquals("Got the wrong endpoint address", routerEndpoint.getAddress(),
+                     "http://localhost:" + CXFTestSupport.getPort1() + "/CxfEndpointBeansRouterTest/router");
+        assertEquals("Got the wrong endpont service class", 
+                     "org.apache.camel.component.cxf.HelloService", 
+                     routerEndpoint.getServiceClass().getName());
+    }
+    
+    @Test
+    public void testCreateCxfEndpointFromURI() throws Exception {
+        CxfEndpoint endpoint1 = context.getEndpoint("cxf:bean:routerEndpoint?address=http://localhost:9000/test1", CxfEndpoint.class);
+        CxfEndpoint endpoint2 = context.getEndpoint("cxf:bean:routerEndpoint?address=http://localhost:8000/test2", CxfEndpoint.class);
+        assertEquals("Get a wrong endpoint address.", "http://localhost:9000/test1", endpoint1.getAddress());
+        assertEquals("Get a wrong endpoint address.", "http://localhost:8000/test2", endpoint2.getAddress());
+
+        // the uri will always be normalized
+        String uri1 = URISupport.normalizeUri("cxf://bean:routerEndpoint?address=http://localhost:9000/test1");
+        String uri2 = URISupport.normalizeUri("cxf://bean:routerEndpoint?address=http://localhost:8000/test2");
+        assertEquals("Get a wrong endpoint key.", uri1, endpoint1.getEndpointKey());
+        assertEquals("Get a wrong endpoint key.", uri2, endpoint2.getEndpointKey());
+    }
+
+    @Test
+    public void testCxfBusConfiguration() throws Exception {
+        // get the camelContext from application context
+        ProducerTemplate template = context.createProducerTemplate();
+
+        Exchange reply = template.request("cxf:bean:serviceEndpoint", new Processor() {
+            public void process(final Exchange exchange) {
+                final List<String> params = new ArrayList<>();
+                params.add("hello");
+                exchange.getIn().setBody(params);
+                exchange.getIn().setHeader(CxfConstants.OPERATION_NAME, "echo");
+            }
+        });
+
+        Exception ex = reply.getException();
+        assertTrue("Should get the fault here", 
+                   ex instanceof org.apache.cxf.interceptor.Fault
+                   || ex instanceof HTTPException);
+    }
+
+    @Test
+    public void testCxfBeanWithCamelPropertiesHolder() throws Exception {
+        // get the camelContext from application context
+        CxfEndpoint testEndpoint = context.getEndpoint("cxf:bean:testEndpoint", CxfEndpoint.class);
+        QName endpointName = QName.valueOf("{http://org.apache.camel.component.cxf}myEndpoint");
+        QName serviceName = QName.valueOf("{http://org.apache.camel.component.cxf}myService");
+
+        assertEquals("Got a wrong address", 
+                     "http://localhost:" + CXFTestSupport.getPort3() + "/testEndpoint", testEndpoint.getAddress());
+        assertEquals("Got a wrong bindingId", "http://schemas.xmlsoap.org/wsdl/soap12/", testEndpoint.getBindingId());
+        assertEquals("Got a wrong transportId", "http://cxf.apache.org/transports/http", testEndpoint.getTransportId());
+        assertEquals("Got a wrong endpointName", endpointName, testEndpoint.getPortName());
+        assertEquals("Got a wrong WsdlURL", "wsdl/test.wsdl", testEndpoint.getWsdlURL());
+        assertEquals("Got a wrong serviceName", serviceName, testEndpoint.getServiceName());
+    }
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfPayloadProviderRouterTest.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfPayloadProviderRouterTest.java
new file mode 100644
index 0000000..9bf3e61
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfPayloadProviderRouterTest.java
@@ -0,0 +1,129 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.cxf.blueprint;
+
+import java.util.Properties;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Endpoint;
+import javax.xml.ws.Service;
+
+import org.apache.camel.component.cxf.CXFTestSupport;
+import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
+import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.message.Message;
+import org.apache.cxf.phase.AbstractPhaseInterceptor;
+import org.apache.cxf.phase.Phase;
+import org.apache.hello_world_soap_http.Greeter;
+import org.apache.hello_world_soap_http.GreeterImpl;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class CxfPayloadProviderRouterTest extends CamelBlueprintTestSupport {
+    protected static Endpoint endpoint;
+    protected static GreeterImpl implementor;
+    
+    private final QName serviceName = new QName("http://apache.org/hello_world_soap_http",
+                                                "SOAPService");
+    private final QName routerPortName = new QName("http://apache.org/hello_world_soap_http",
+                                                "RouterPort");
+    
+    @AfterClass
+    public static void stopService() {
+        if (endpoint != null) {
+            endpoint.stop();
+        }
+    }
+
+    @BeforeClass
+    public static void startService() {
+        implementor = new GreeterImpl();
+        String address = "http://localhost:" + CXFTestSupport.getPort1() + "/CxfPayLoadProviderRouterTest/SoapContext/SoapPort";
+        endpoint = Endpoint.publish(address, implementor); 
+    }
+
+    @Override
+    protected Properties useOverridePropertiesWithPropertiesComponent() {
+        Properties extra = new Properties();
+        extra.put("router.address", "http://localhost:" + CXFTestSupport.getPort2() + "/CxfPayloadProviderRouterTest/CamelContext/RouterPort");
+        extra.put("service.address", "http://localhost:" + CXFTestSupport.getPort1() + "/CxfPayLoadProviderRouterTest/SoapContext/SoapPort");
+        return extra;
+    }
+    
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "org/apache/camel/test/cxf/blueprint/CxfPayloadProviderRouterBeans.xml";
+    }
+
+    @Test
+    public void testPublishEndpointUrl() throws Exception {
+        final String path = "CxfPayloadProviderRouterTest/CamelContext/RouterPort";
+        String response = template.requestBody("http://localhost:" + CXFTestSupport.getPort2() + "/" + path
+                                               + "?wsdl", null, String.class);
+        assertTrue("Can't find the right service location.", response.indexOf(path) > 0);
+    }
+
+    @Test
+    public void testInvokeGreetMeOverProvider() throws Exception {
+        Service service = Service.create(serviceName);
+        service.addPort(routerPortName, "http://schemas.xmlsoap.org/soap/",
+                        "http://localhost:" + CXFTestSupport.getPort2() + "/"
+                        + getClass().getSimpleName() + "/CamelContext/RouterPort");
+        Greeter greeter = service.getPort(routerPortName, Greeter.class);
+        org.apache.cxf.endpoint.Client client = org.apache.cxf.frontend.ClientProxy.getClient(greeter);
+        VerifyInboundInterceptor icp = new VerifyInboundInterceptor();
+        client.getInInterceptors().add(icp);
+        
+        int ic = implementor.getInvocationCount();
+
+        icp.setCalled(false);
+        String reply = greeter.greetMe("test");
+        assertEquals("Got the wrong reply ", "Hello test", reply);
+        assertTrue("No Inbound message received", icp.isCalled());
+        assertEquals("The target service not invoked", ++ic, implementor.getInvocationCount());
+        
+        icp.setCalled(false);
+        greeter.greetMeOneWay("call greetMe OneWay !");
+        assertFalse("An unnecessary inbound message", icp.isCalled());
+        // wait a few seconds for the async oneway service to be invoked
+        Thread.sleep(3000);
+        assertEquals("The target service not invoked", ++ic, implementor.getInvocationCount());
+    }
+    
+    static class VerifyInboundInterceptor extends AbstractPhaseInterceptor<Message> {
+        private boolean called;
+        
+        VerifyInboundInterceptor() {
+            super(Phase.USER_PROTOCOL);
+        }
+
+        @Override
+        public void handleMessage(Message message) throws Fault {
+            called = true;
+        }
+        
+        public boolean isCalled() {
+            return called;
+        }
+        
+        public void setCalled(boolean b) {
+            called = b;
+        }
+        
+    }
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfRsEndpointBeansTest.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfRsEndpointBeansTest.java
new file mode 100644
index 0000000..76e8e9f
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfRsEndpointBeansTest.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.cxf.blueprint;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.ws.rs.ProcessingException;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.apache.camel.Produce;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.cxf.common.message.CxfConstants;
+import org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
+import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
+import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class CxfRsEndpointBeansTest extends CamelBlueprintTestSupport {
+
+    @Produce("direct:startURLOverride")
+    private ProducerTemplate pT;
+
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "org/apache/camel/test/cxf/blueprint/CxfRsEndpointBeans.xml";
+    }
+
+    @Override
+    protected String getBundleDirectives() {
+        return "blueprint.aries.xml-validation:=false";
+    }
+
+    @Test
+    public void testCxfBusInjection() {
+
+        CxfRsEndpoint serviceEndpoint = context.getEndpoint("cxfrs:bean:serviceEndpoint", CxfRsEndpoint.class);
+        CxfRsEndpoint routerEndpoint = context.getEndpoint("cxfrs:bean:routerEndpoint", CxfRsEndpoint.class);
+        JAXRSServerFactoryBean server = routerEndpoint.createJAXRSServerFactoryBean();
+        JAXRSClientFactoryBean client = serviceEndpoint.createJAXRSClientFactoryBean();
+        assertEquals("These cxfrs endpoints don't share the same bus", server.getBus().getId(), client.getBus().getId());
+    }
+
+    @Test
+    public void testDestinationOverrideURLHandling() {
+
+        try {
+            context.getRouteController().startRoute("url-override-route");
+        } catch (Exception e) {
+            fail(e.getMessage());
+        }
+
+        List<String> expected = Arrays.asList(
+                                              "foo1",
+                                              "foo2",
+                                              "foo1",
+                                              "foo2",
+                                              "foo1");
+
+        expected.forEach(host -> pT.send(exchange -> {
+            Message in = exchange.getIn();
+            in.setHeader(CxfConstants.CAMEL_CXF_RS_USING_HTTP_API, false);
+            in.setHeader(CxfConstants.OPERATION_NAME, "getCustomer");
+            in.setBody("Scott");
+            in.setHeader(Exchange.ACCEPT_CONTENT_TYPE, "application/json");
+            in.setHeader(Exchange.DESTINATION_OVERRIDE_URL, "http://" + host);
+            in.setHeader(Exchange.HTTP_METHOD, "GET");
+        }));
+
+        MockEndpoint mockEndpoint = getMockEndpoint("mock:resultURLOverride");
+        Assert.assertArrayEquals(expected.toArray(),
+                                 mockEndpoint.getExchanges().stream()
+                                     .map(exchange -> exchange.getProperty(Exchange.EXCEPTION_CAUGHT, ProcessingException.class).getCause().toString())
+                                     .map(exceptionMessage -> exceptionMessage.split("\\: ")[1])
+                                     .collect(Collectors.toList()).toArray());
+
+    }
+
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfTransportBlueprintTest.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfTransportBlueprintTest.java
new file mode 100644
index 0000000..a56ba78
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/CxfTransportBlueprintTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.cxf.blueprint;
+
+import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
+import org.junit.Test;
+
+public class CxfTransportBlueprintTest extends CamelBlueprintTestSupport {
+    
+    @Override
+    protected String getBlueprintDescriptor() {
+        return "org/apache/camel/test/cxf/blueprint/CxfTransportBeans.xml";
+    }
+    
+    @Override
+    // camel-cxf blueprint schema doesn't publihsed yet
+    protected String getBundleDirectives() {
+        return "blueprint.aries.xml-validation:=false";
+    }
+    
+    @Test
+    public void testPublishEndpointUrl() throws Exception {
+        final String request = "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+            + "<soap:Body>"
+            + "<ns1:echo xmlns:ns1=\"http://cxf.component.camel.apache.org/\">"
+            + "<arg0 xmlns=\"http://cxf.component.camel.apache.org/\">hello world</arg0>"
+            + "</ns1:echo></soap:Body></soap:Envelope>";
+        String response = template.requestBody("direct:client", request, String.class);
+        assertNotNull("We should get some response here", response);
+        assertTrue("Get a wrong response.", response.indexOf("hello world") > 0 && response.indexOf("echoResponse") > 0);
+    }
+
+
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/MyProcessor.java b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/MyProcessor.java
new file mode 100644
index 0000000..51f48a4
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/java/org/apache/camel/test/cxf/blueprint/MyProcessor.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.test.cxf.blueprint;
+
+import java.util.List;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.apache.camel.Processor;
+import org.apache.camel.component.cxf.common.message.CxfConstants;
+
+/**
+ *
+ */
+public class MyProcessor implements Processor {
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        Thread.sleep(1000);
+        Message in = exchange.getIn();
+        // Get the parameter list
+        List<?> parameter = in.getBody(List.class);
+        // Get the operation name
+        String operation = (String)in.getHeader(CxfConstants.OPERATION_NAME);
+        Object result = operation + " " + (String)parameter.get(0);
+        exchange.getOut().setBody(result);
+    }
+
+}
diff --git a/tests/camel-blueprint-cxf-test/src/test/resources/log4j2.properties b/tests/camel-blueprint-cxf-test/src/test/resources/log4j2.properties
new file mode 100644
index 0000000..34f87ee
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/resources/log4j2.properties
@@ -0,0 +1,30 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+appender.out.type = File
+appender.out.name = out
+appender.out.fileName = target/camel-test-blueprint-cxf.log
+appender.out.layout.type = PatternLayout
+appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
+appender.stdout.type = Console
+appender.stdout.name = stdout
+appender.stdout.layout.type = PatternLayout
+appender.stdout.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
+logger.io.name = org.ops4j.io
+logger.io.level = WARN
+rootLogger.level = INFO
+rootLogger.appenderRef.out.ref = out
diff --git a/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfConsumerSoap12Beans.xml b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfConsumerSoap12Beans.xml
new file mode 100644
index 0000000..1475bcc
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfConsumerSoap12Beans.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xmlns:camel="http://camel.apache.org/schema/blueprint"
+           xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
+           xmlns:soap="http://cxf.apache.org/blueprint/bindings/soap"
+           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
+           xmlns:s="http://cxf.apache.org/hello_world_soap_http"
+           xsi:schemaLocation="
+             http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
+             http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/blueprint/cxf/camel-cxf.xsd
+             http://cxf.apache.org/blueprint/bindings/soap http://cxf.apache.org/schemas/configuration/blueprint/soap.xsd
+             http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd
+             http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
+
+  <!-- blueprint property placeholders -->
+  <cm:property-placeholder persistent-id="my-placeholders">
+    <cm:default-properties>
+      <cm:property name="router.address" value="http://localhost:9000/routerEndpoint" />
+    </cm:default-properties>
+  </cm:property-placeholder>
+  
+  <cxf:cxfEndpoint id="routerEndpoint" address="{{router.address}}"
+      serviceClass="org.apache.hello_world_soap_http.Greeter">
+    <cxf:properties>
+      <entry key="dataFormat" value="PAYLOAD"/>
+      <entry key="org.apache.cxf.oneway.robust" value="true"/>
+    </cxf:properties>
+    <cxf:binding>
+      <soap:soapBinding mtomEnabled="true" version="1.2"/>
+    </cxf:binding>
+  </cxf:cxfEndpoint>
+
+  <camel:camelContext id="camel">
+    <camel:route>
+      <camel:from uri="cxf:bean:routerEndpoint?synchronous=true" />
+      <camel:to uri="mock:result" />
+    </camel:route>
+  </camel:camelContext>
+
+</blueprint>
diff --git a/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfConsumerWSRMBeans.xml b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfConsumerWSRMBeans.xml
new file mode 100644
index 0000000..20ec2d4
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfConsumerWSRMBeans.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xmlns:camel="http://camel.apache.org/schema/blueprint"
+           xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
+           xmlns:cxf-core="http://cxf.apache.org/blueprint/core"
+           xmlns:soap="http://cxf.apache.org/blueprint/bindings/soap"
+           xmlns:wsa="http://cxf.apache.org/ws/addressing" 
+           xmlns:wsrm-policy="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"
+           xmlns:wsrm-mgr="http://cxf.apache.org/ws/rm/manager"
+           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
+           xmlns:s="http://cxf.apache.org/hello_world_soap_http"
+           xsi:schemaLocation="
+             http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
+             http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/blueprint/cxf/camel-cxf.xsd
+             http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd
+             http://cxf.apache.org/blueprint/bindings/soap http://cxf.apache.org/schemas/configuration/blueprint/soap.xsd
+             http://schemas.xmlsoap.org/ws/2005/02/rm/policy http://schemas.xmlsoap.org/ws/2005/02/rm/wsrm-policy.xsd
+             http://cxf.apache.org/ws/rm/manager http://cxf.apache.org/schemas/configuration/wsrm-manager.xsd       
+             http://cxf.apache.org/ws/addressing http://cxf.apache.org/schemas/ws-addr-conf.xsd
+             http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd
+             http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
+
+  <!-- blueprint property placeholders -->
+  <cm:property-placeholder persistent-id="my-placeholders">
+    <cm:default-properties>
+      <cm:property name="router.address" value="http://localhost:9000/routerEndpoint" />
+    </cm:default-properties>
+  </cm:property-placeholder>
+
+  <cxf-core:bus id="router-bus" bus="router-bus">
+    <cxf-core:features>
+      <cxf-core:logging />
+      <wsa:addressing/>
+      <wsrm-mgr:reliableMessaging>
+        <wsrm-policy:RMAssertion>
+          <wsrm-policy:BaseRetransmissionInterval Milliseconds="4000"/>           
+          <wsrm-policy:AcknowledgementInterval Milliseconds="0"/>          
+        </wsrm-policy:RMAssertion>
+        <wsrm-mgr:sourcePolicy>
+        </wsrm-mgr:sourcePolicy>
+        <wsrm-mgr:destinationPolicy>
+          <wsrm-mgr:acksPolicy intraMessageThreshold="0" />
+        </wsrm-mgr:destinationPolicy>
+      </wsrm-mgr:reliableMessaging>
+    </cxf-core:features>
+  </cxf-core:bus>
+
+  <cxf-core:bus id="client-bus" bus="client-bus">
+    <cxf-core:features>
+      <cxf-core:logging />
+      <wsa:addressing/>
+      <wsrm-mgr:reliableMessaging>
+        <wsrm-policy:RMAssertion>
+          <wsrm-policy:BaseRetransmissionInterval Milliseconds="4000"/>           
+          <wsrm-policy:AcknowledgementInterval Milliseconds="0"/>          
+        </wsrm-policy:RMAssertion>
+        <wsrm-mgr:sourcePolicy>
+        </wsrm-mgr:sourcePolicy>
+        <wsrm-mgr:destinationPolicy>
+          <wsrm-mgr:acksPolicy intraMessageThreshold="0" />
+        </wsrm-mgr:destinationPolicy>
+      </wsrm-mgr:reliableMessaging>
+    </cxf-core:features>
+  </cxf-core:bus>
+   
+  <cxf:cxfEndpoint id="routerEndpoint" address="{{router.address}}"
+      serviceClass="org.apache.hello_world_soap_http.Greeter" bus="router-bus">
+    <cxf:properties>
+      <entry key="dataFormat" value="PAYLOAD"/>
+    </cxf:properties>
+  </cxf:cxfEndpoint>
+
+  <camel:camelContext id="camel">
+    <camel:route>
+      <camel:from uri="cxf:bean:routerEndpoint?synchronous=true" />
+      <camel:to uri="mock:result" />
+    </camel:route>
+  </camel:camelContext>
+
+</blueprint>
diff --git a/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfEndpointBeans.xml b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfEndpointBeans.xml
new file mode 100644
index 0000000..2510846
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfEndpointBeans.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xmlns:camel="http://camel.apache.org/schema/blueprint"
+           xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
+           xmlns:cxf-cluster="http://cxf.apache.org/clustering"
+           xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
+           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
+           xmlns:s="http://cxf.apache.org/hello_world_soap_http"
+           xmlns:enc="http://karaf.apache.org/xmlns/jasypt/v1.0.0"
+           xsi:schemaLocation="
+             http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
+             http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/blueprint/cxf/camel-cxf.xsd
+             http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+             http://cxf.apache.org/clustering http://cxf.apache.org/schemas/clustering.xsd
+             http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd
+             http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
+   
+
+  <!-- blueprint property placeholders -->
+  <cm:property-placeholder persistent-id="my-placeholders">
+    <cm:default-properties>
+      <!--cm:property name="router.address" value="http://localhost:9000/routerEndpoint" /-->
+      <cm:property name="router.address" value="ENC(pYMW5lQHCwmrPJvvNb5Nx0+aoaYGymveCroZarDXcNPtQwzP6F2Jj9iBNO9+xGjx)" />
+      <cm:property name="service.address" value="http://localhost:8000/serviceEndpoint" />
+      <cm:property name="test.address" value="http://localhost:9000/testEndpoint" />
+      <cm:property name="bindingId" value="http://schemas.xmlsoap.org/wsdl/soap12/" />
+      <cm:property name="transportId" value="http://cxf.apache.org/transports/http" />
+      <cm:property name="serviceName" value="{http://org.apache.camel.component.cxf}myService" />
+      <cm:property name="endpointName" value="{http://org.apache.camel.component.cxf}myEndpoint" />
+      <cm:property name="receiveTimeout" value="200" />
+      <cm:property name="wsdlURL" value="wsdl/test.wsdl" />
+    </cm:default-properties>
+  </cm:property-placeholder>
+  
+  <enc:property-placeholder>
+      <enc:encryptor class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
+           <property name="config">
+               <bean class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
+                   <property name="algorithm" value="PBEWithMD5AndDES" />
+                   <property name="password" value="password1" />
+               </bean>
+            </property>
+       </enc:encryptor>
+  </enc:property-placeholder>
+  
+  <bean id="SequentialAddresses" class="org.apache.cxf.clustering.SequentialStrategy">
+		<property name="alternateAddresses">
+			<list>
+				<value>
+					http://localhost:8181/cxf/report
+				</value>
+			</list>
+		</property>
+		<property name="delayBetweenRetries" value="10" />
+	</bean>
+
+  <cxf:cxfEndpoint id="routerEndpoint" address="{{router.address}}"
+    serviceClass="org.apache.camel.component.cxf.HelloService">
+    <cxf:features>
+        <cxf-cluster:failover>
+            <cxf-cluster:strategy>
+                <ref component-id="SequentialAddresses" />
+            </cxf-cluster:strategy>
+        </cxf-cluster:failover>
+     </cxf:features>
+  </cxf:cxfEndpoint>
+
+  <cxf:cxfEndpoint id="serviceEndpoint" address="{{service.address}}"
+    serviceClass="org.apache.camel.component.cxf.HelloService"/>
+
+  <cxf:cxfEndpoint id="testEndpoint" address="{{test.address}}"
+    bindingId="{{bindingId}}" transportId="{{transportId}}"
+    serviceName="{{serviceName}}" endpointName="{{endpointName}}"
+    wsdlURL="{{wsdlURL}}"
+    serviceClass="org.apache.camel.component.cxf.HelloService"/>
+
+  <!-- Setting the http conduit policy -->
+  <http-conf:conduit name="{http://cxf.component.camel.apache.org/}HelloServicePort.http-conduit">
+    <http-conf:client ReceiveTimeout="${receiveTimeout}"
+                      MaxRetransmits="1"
+                      AllowChunking="false" />
+  </http-conf:conduit>
+
+  <bean id="myProcessor" class="org.apache.camel.test.cxf.blueprint.MyProcessor"/>
+
+   <camel:camelContext id="camel">
+    <camel:route>
+      <camel:from uri="cxf:bean:routerEndpoint" />
+      <camel:process ref="myProcessor" />
+      <camel:to uri="mock:result" />
+    </camel:route>
+   </camel:camelContext>
+
+</blueprint>
diff --git a/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfPayloadProviderRouterBeans.xml b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfPayloadProviderRouterBeans.xml
new file mode 100644
index 0000000..bd16a8a
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfPayloadProviderRouterBeans.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xmlns:camel="http://camel.apache.org/schema/blueprint"
+           xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
+           xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
+           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
+           xmlns:s="http://cxf.apache.org/hello_world_soap_http"
+           xsi:schemaLocation="
+             http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
+             http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/blueprint/cxf/camel-cxf.xsd
+             http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+             http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd
+             http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
+
+  <!-- blueprint property placeholders -->
+  <cm:property-placeholder persistent-id="my-placeholders">
+    <cm:default-properties>
+      <cm:property name="router.address" value="http://localhost:9000/routerEndpoint" />
+      <cm:property name="service.address" value="http://localhost:8000/serviceEndpoint" />
+    </cm:default-properties>
+  </cm:property-placeholder>
+  
+  <bean id="loggingOutInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+  <bean id="loggingInInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+ 
+  <cxf:cxfEndpoint id="routerEndpoint" address="{{router.address}}">
+    <cxf:properties>
+      <entry key="dataFormat" value="PAYLOAD"/>
+    </cxf:properties>
+    <cxf:outInterceptors>
+      <ref component-id="loggingOutInterceptor"/>
+    </cxf:outInterceptors>
+    <cxf:inInterceptors>
+      <ref component-id="loggingInInterceptor"/>
+    </cxf:inInterceptors>
+  </cxf:cxfEndpoint>
+
+  <cxf:cxfEndpoint id="serviceEndpoint" address="{{service.address}}">
+    <cxf:properties>
+      <entry key="dataFormat" value="PAYLOAD"/>
+    </cxf:properties>
+  </cxf:cxfEndpoint>
+
+  <camel:camelContext id="camel">
+    <camel:route>
+      <camel:from uri="cxf:bean:routerEndpoint?synchronous=true" />
+      <camel:setHeader name="operationNamespace">
+        <camel:constant>http://camel.apache.org/cxf/jaxws/dispatch</camel:constant>
+      </camel:setHeader>
+      <camel:setHeader name="operationName">
+        <camel:constant>Invoke</camel:constant>
+      </camel:setHeader>
+      <camel:to uri="cxf:bean:serviceEndpoint?synchronous=true" />
+    </camel:route>
+  </camel:camelContext>
+
+</blueprint>
diff --git a/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfRsEndpointBeans.xml b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfRsEndpointBeans.xml
new file mode 100644
index 0000000..71da6c8
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfRsEndpointBeans.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xmlns:camel="http://camel.apache.org/schema/blueprint"
+           xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
+           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
+           xsi:schemaLocation="
+             http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
+             http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/blueprint/cxf/camel-cxf.xsd
+             http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd
+             http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
+
+	<cxf:rsServer id="routerEndpoint" address="http://localhost:8182"
+		serviceClass="org.apache.camel.component.cxf.jaxrs.testbean.CustomerService"
+		loggingFeatureEnabled="true">
+		<cxf:providers>
+		     <ref component-id="jsonProvider" />
+		</cxf:providers>
+    </cxf:rsServer>
+		
+
+	<cxf:rsClient id="serviceEndpoint" address="http://localhost:8080"
+		serviceClass="org.apache.camel.component.cxf.jaxrs.testbean.CustomerService"
+		loggingFeatureEnabled="true">
+		<cxf:providers>
+		     <ref component-id="jsonProvider" />
+		</cxf:providers>
+    </cxf:rsClient>
+
+	<cxf:rsClient id="restClient" address="http://foo"
+		serviceClass="org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource"
+		loggingFeatureEnabled="true">
+		<cxf:providers>
+			<ref component-id="jsonProvider" />
+		</cxf:providers>
+	</cxf:rsClient>
+
+	<bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider" />
+
+	<camel:camelContext id="camel">
+
+		<camel:route>
+			<camel:from uri="direct:start" />
+			<camel:to uri="mock:result" />
+		</camel:route>
+
+
+		<camel:route autostart="false" id="url-override-route">
+
+			<camel:onException>
+				<camel:exception>javax.ws.rs.ProcessingException</camel:exception>
+				<camel:to uri="mock:resultURLOverride" />
+			</camel:onException>
+
+			<camel:from uri="direct:startURLOverride" />
+			<camel:to uri="cxfrs:bean:restClient" />
+		</camel:route>
+
+	</camel:camelContext>
+
+</blueprint>
diff --git a/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfTransportBeans.xml b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfTransportBeans.xml
new file mode 100644
index 0000000..411a701
--- /dev/null
+++ b/tests/camel-blueprint-cxf-test/src/test/resources/org/apache/camel/test/cxf/blueprint/CxfTransportBeans.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xmlns:camel="http://camel.apache.org/schema/blueprint"
+           xmlns:transport="http://cxf.apache.org/transports/camel/blueprint"
+           xmlns:simple="http://cxf.apache.org/blueprint/simple"
+           xmlns:core="http://cxf.apache.org/blueprint/core"
+           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
+           xmlns:s="http://cxf.apache.org/hello_world_soap_http"
+           xsi:schemaLocation="
+             http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
+             http://cxf.apache.org/blueprint/simple http://cxf.apache.org/schemas/blueprint/simple.xsd
+             http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd
+             http://cxf.apache.org/transports/camel/blueprint http://cxf.apache.org/schmemas/blueprint/camel.xsd
+             http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+             http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd
+             http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
+  
+  <!-- make sure the destination is injected with the right camel context -->
+  <transport:destination id="*.camel-destination" camelContextId="camel1" />
+  
+  <simple:server serviceClass="org.apache.camel.component.cxf.HelloService" address="camel://direct:server">
+    <simple:serviceBean>
+        <bean class="org.apache.camel.component.cxf.HelloServiceImpl"/>
+    </simple:serviceBean>
+  </simple:server>
+
+   <camel:camelContext id="camel1">
+    <camel:route>
+      <camel:from uri="direct:client" />
+      <camel:to uri="direct:server" />
+    </camel:route>
+   </camel:camelContext>
+
+</blueprint>
diff --git a/tests/pom.xml b/tests/pom.xml
new file mode 100644
index 0000000..649e64f
--- /dev/null
+++ b/tests/pom.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel.karaf</groupId>
+        <artifactId>karaf</artifactId>
+        <version>3.2.0-SNAPSHOT</version>
+        <relativePath>..</relativePath>
+    </parent>
+
+    <artifactId>tests</artifactId>
+    <name>Camel Karaf :: Integration Tests</name>
+    <description>Camel Karaf Integration Tests</description>
+    <packaging>pom</packaging>
+
+    <properties>
+        <camel.osgi.export.pkg />
+    </properties>
+
+    <modules>
+        <module>camel-blueprint-cxf-test</module>
+    </modules>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-bundle-plugin</artifactId>
+                <version>${project.version}</version>
+                <configuration>
+                 </configuration>
+                <executions>
+                    <execution>
+                        <id>bundle-manifest</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>manifest</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <!-- includes these modules when doing the release -->
+        <profile>
+            <id>release</id>
+            <modules>
+                <module>camel-itest-osgi</module>
+                <module>camel-itest-performance</module>
+                <module>camel-performance</module>
+            </modules>
+        </profile>
+
+        <!-- osgi tests -->
+        <profile>
+            <id>osgi.test</id>
+            <modules>
+                <module>camel-itest-osgi</module>
+            </modules>
+        </profile>
+
+        <!-- performance tests -->
+        <profile>
+            <id>performance.test</id>
+            <modules>
+                <module>camel-itest-performance</module>
+                <module>camel-performance</module>
+            </modules>
+        </profile>
+    </profiles>
+</project>


[camel-karaf] 07/07: Camel-CXF-Transport-Blueprint: Use the camel-blueprint with the correct groupId

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-karaf.git

commit a51eee105cfecdbadf42515ccb0c1f30a08659e1
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Mar 24 14:58:31 2020 +0100

    Camel-CXF-Transport-Blueprint: Use the camel-blueprint with the correct groupId
---
 components/camel-cxf-transport-blueprint/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/camel-cxf-transport-blueprint/pom.xml b/components/camel-cxf-transport-blueprint/pom.xml
index 7395b2a..2bde68a 100644
--- a/components/camel-cxf-transport-blueprint/pom.xml
+++ b/components/camel-cxf-transport-blueprint/pom.xml
@@ -47,7 +47,7 @@
 
         <!-- OSGi, Blueprint -->
         <dependency>
-            <groupId>org.apache.camel</groupId>
+            <groupId>org.apache.camel.karaf</groupId>
             <artifactId>camel-blueprint</artifactId>
             <scope>provided</scope>
             <optional>true</optional>