This is an automated email from the ASF dual-hosted git repository.
ppalaga pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push:
new 2449a3928e Camel Quarkus CXF Extension
2449a3928e is described below
commit 2449a3928e7f2c8130ade6ca57cf6802ec456281
Author: Eugene Berman <[email protected]>
AuthorDate: Wed Jul 20 09:20:21 2022 -0400
Camel Quarkus CXF Extension
---
catalog/pom.xml | 13 +
docs/modules/ROOT/examples/components/cxf.yml | 13 +
docs/modules/ROOT/nav.adoc | 1 +
.../ROOT/pages/reference/extensions/cxf-soap.adoc | 39 +++
extensions/cxf-soap/deployment/pom.xml | 67 ++++++
.../cxf/soap/deployment/CxfSoapProcessor.java | 74 ++++++
extensions/cxf-soap/pom.xml | 39 +++
extensions/cxf-soap/runtime/pom.xml | 114 +++++++++
.../main/resources/META-INF/cxf/bus-extensions.txt | 1 +
.../main/resources/META-INF/quarkus-extension.yaml | 31 +++
extensions/pom.xml | 1 +
integration-tests/cxf-soap/pom.xml | 211 ++++++++++++++++
.../component/cxf/soap/it/CxfSoapResource.java | 120 ++++++++++
.../component/cxf/soap/it/PasswordCallback.java | 84 +++++++
.../src/main/resources/application.properties | 68 ++++++
.../main/resources/routes/cxf-client-routes.xml | 44 ++++
.../main/resources/routes/cxf-service-routes.xml | 40 ++++
.../src/main/resources/wsdl/HelloService.wsdl | 113 +++++++++
.../com/helloworld/service/CodeFirstService.java | 33 +++
.../component/cxf/soap/it/CxfSoapClientTest.java | 68 ++++++
.../cxf/soap/it/CxfSoapClientTestResource.java | 32 +++
.../component/cxf/soap/it/CxfSoapServiceTest.java | 69 ++++++
.../resources/__files/simpleHelloWorldResponse.xml | 8 +
.../test/resources/__files/soapObjectResponse.xml | 12 +
.../test/resources/__files/wsSecurityResponse.xml | 8 +
.../test/resources/mappings/simpleHelloWorld.json | 27 +++
.../src/test/resources/mappings/soapObject.json | 29 +++
.../src/test/resources/mappings/wsSecurity.json | 59 +++++
integration-tests/pom.xml | 1 +
.../xmlsecurity/it/XmlsecurityProducers.java | 8 +
.../xmlsecurity/it/XmlsecurityRoutes.java | 4 +-
pom.xml | 4 +
poms/bom-test/pom.xml | 61 +++++
poms/bom/pom.xml | 266 +++++++++++++++++++++
poms/bom/src/main/generated/flattened-full-pom.xml | 251 +++++++++++++++++++
.../src/main/generated/flattened-reduced-pom.xml | 212 ++++++++++++++++
.../generated/flattened-reduced-verbose-pom.xml | 212 ++++++++++++++++
tooling/scripts/test-categories.yaml | 1 +
38 files changed, 2436 insertions(+), 2 deletions(-)
diff --git a/catalog/pom.xml b/catalog/pom.xml
index 3105622680..8dfe0d1a0b 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -994,6 +994,19 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-dataformat</artifactId>
diff --git a/docs/modules/ROOT/examples/components/cxf.yml
b/docs/modules/ROOT/examples/components/cxf.yml
new file mode 100644
index 0000000000..a98b6aeb78
--- /dev/null
+++ b/docs/modules/ROOT/examples/components/cxf.yml
@@ -0,0 +1,13 @@
+# Do not edit directly!
+# This file was generated by
camel-quarkus-maven-plugin:update-extension-doc-page
+cqArtifactId: camel-quarkus-cxf-soap
+cqArtifactIdBase: cxf-soap
+cqNativeSupported: true
+cqStatus: Stable
+cqDeprecated: false
+cqJvmSince: 2.11.0
+cqNativeSince: 2.11.0
+cqCamelPartName: cxf
+cqCamelPartTitle: CXF
+cqCamelPartDescription: Expose SOAP WebServices using Apache CXF or connect to
external WebServices using CXF WS client.
+cqExtensionPageTitle: CXF
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index b15176f564..a47331d885 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -79,6 +79,7 @@
*** xref:reference/extensions/cmis.adoc[CMIS]
*** xref:reference/extensions/csv.adoc[CSV]
*** xref:reference/extensions/csimple.adoc[CSimple]
+*** xref:reference/extensions/cxf-soap.adoc[CXF]
*** xref:reference/extensions/caffeine.adoc[Caffeine Cache]
*** xref:reference/extensions/caffeine-lrucache.adoc[Caffeine LRUCache]
*** xref:reference/extensions/cassandraql.adoc[Cassandra CQL]
diff --git a/docs/modules/ROOT/pages/reference/extensions/cxf-soap.adoc
b/docs/modules/ROOT/pages/reference/extensions/cxf-soap.adoc
new file mode 100644
index 0000000000..559d993360
--- /dev/null
+++ b/docs/modules/ROOT/pages/reference/extensions/cxf-soap.adoc
@@ -0,0 +1,39 @@
+// Do not edit directly!
+// This file was generated by
camel-quarkus-maven-plugin:update-extension-doc-page
+= CXF
+:linkattrs:
+:cq-artifact-id: camel-quarkus-cxf-soap
+:cq-native-supported: true
+:cq-status: Stable
+:cq-status-deprecation: Stable
+:cq-description: Expose SOAP WebServices using Apache CXF or connect to
external WebServices using CXF WS client.
+:cq-deprecated: false
+:cq-jvm-since: 2.11.0
+:cq-native-since: 2.11.0
+
+[.badges]
+[.badge-key]##JVM since##[.badge-supported]##2.11.0## [.badge-key]##Native
since##[.badge-supported]##2.11.0##
+
+Expose SOAP WebServices using Apache CXF or connect to external WebServices
using CXF WS client.
+
+== What's inside
+
+* xref:{cq-camel-components}::cxf-component.adoc[CXF component], URI syntax:
`cxf:beanId:address`
+
+Please refer to the above link for usage and configuration details.
+
+== Maven coordinates
+
+https://code.quarkus.io/?extension-search=camel-quarkus-cxf-soap[Create a new
project with this extension on code.quarkus.io, window="_blank"]
+
+Or add the coordinates to your existing project:
+
+[source,xml]
+----
+<dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap</artifactId>
+</dependency>
+----
+
+Check the xref:user-guide/index.adoc[User guide] for more information about
writing Camel Quarkus applications.
diff --git a/extensions/cxf-soap/deployment/pom.xml
b/extensions/cxf-soap/deployment/pom.xml
new file mode 100644
index 0000000000..18d444b19e
--- /dev/null
+++ b/extensions/cxf-soap/deployment/pom.xml
@@ -0,0 +1,67 @@
+<?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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap-parent</artifactId>
+ <version>2.12.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>camel-quarkus-cxf-soap-deployment</artifactId>
+ <name>Camel Quarkus :: CXF :: Deployment</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-core-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf-deployment</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <annotationProcessorPaths>
+ <path>
+ <groupId>io.quarkus</groupId>
+
<artifactId>quarkus-extension-processor</artifactId>
+ <version>${quarkus.version}</version>
+ </path>
+ </annotationProcessorPaths>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git
a/extensions/cxf-soap/deployment/src/main/java/org/apache/camel/quarkus/component/cxf/soap/deployment/CxfSoapProcessor.java
b/extensions/cxf-soap/deployment/src/main/java/org/apache/camel/quarkus/component/cxf/soap/deployment/CxfSoapProcessor.java
new file mode 100644
index 0000000000..e312cec9e0
--- /dev/null
+++
b/extensions/cxf-soap/deployment/src/main/java/org/apache/camel/quarkus/component/cxf/soap/deployment/CxfSoapProcessor.java
@@ -0,0 +1,74 @@
+/*
+ * 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.quarkus.component.cxf.soap.deployment;
+
+import java.util.stream.Stream;
+
+import io.quarkus.deployment.annotations.BuildProducer;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
+import org.jboss.jandex.DotName;
+import org.jboss.jandex.IndexView;
+
+class CxfSoapProcessor {
+
+ private static final String FEATURE = "camel-cxf-soap";
+
+ @BuildStep
+ FeatureBuildItem feature() {
+ return new FeatureBuildItem(FEATURE);
+ }
+
+ @BuildStep
+ void
runtimeInitializedClasses(BuildProducer<RuntimeInitializedClassBuildItem>
runtimeInitializedClass) {
+ Stream.of(
+ "org.apache.cxf.attachment.AttachmentUtil")
+ .map(RuntimeInitializedClassBuildItem::new)
+ .forEach(runtimeInitializedClass::produce);
+ }
+
+ @BuildStep
+ void registerForReflection(BuildProducer<ReflectiveClassBuildItem>
reflectiveClass, CombinedIndexBuildItem combinedIndex) {
+ IndexView index = combinedIndex.getIndex();
+
+ Stream.of(
+ "org.apache.cxf.feature.AbstractFeature",
+ "org.apache.wss4j.dom.handler.WSHandler",
+ "org.apache.cxf.phase.AbstractPhaseInterceptor",
+
"org.apache.cxf.binding.soap.interceptor.AbstractSOAPInterceptor",
+ "org.apache.cxf.phase.PhaseInterceptor")
+ .map(DotName::createSimple)
+ .flatMap(dotName ->
index.getAllKnownSubclasses(dotName).stream())
+ .map(classInfo -> classInfo.name().toString())
+ .map(className -> new ReflectiveClassBuildItem(false, false,
className))
+ .forEach(reflectiveClass::produce);
+
+ Stream.of(
+ "org.apache.cxf.feature.Feature",
+ "org.apache.cxf.interceptor.Interceptor",
+ "org.apache.cxf.binding.soap.interceptor.SoapInterceptor",
+ "org.apache.cxf.phase.PhaseInterceptor")
+ .map(DotName::createSimple)
+ .flatMap(dotName ->
index.getAllKnownImplementors(dotName).stream())
+ .map(classInfo -> classInfo.name().toString())
+ .map(className -> new ReflectiveClassBuildItem(false, false,
className))
+ .forEach(reflectiveClass::produce);
+ }
+}
diff --git a/extensions/cxf-soap/pom.xml b/extensions/cxf-soap/pom.xml
new file mode 100644
index 0000000000..6fb3737589
--- /dev/null
+++ b/extensions/cxf-soap/pom.xml
@@ -0,0 +1,39 @@
+<?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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-extensions</artifactId>
+ <version>2.12.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>camel-quarkus-cxf-soap-parent</artifactId>
+ <name>Camel Quarkus :: CXF</name>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>deployment</module>
+ <module>runtime</module>
+ </modules>
+</project>
diff --git a/extensions/cxf-soap/runtime/pom.xml
b/extensions/cxf-soap/runtime/pom.xml
new file mode 100644
index 0000000000..ccfe23932b
--- /dev/null
+++ b/extensions/cxf-soap/runtime/pom.xml
@@ -0,0 +1,114 @@
+<?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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap-parent</artifactId>
+ <version>2.12.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>camel-quarkus-cxf-soap</artifactId>
+ <name>Camel Quarkus :: CXF :: Runtime</name>
+ <description>Expose SOAP WebServices using Apache CXF or connect to
external WebServices using CXF WS client.</description>
+
+ <properties>
+ <camel.quarkus.jvmSince>2.11.0</camel.quarkus.jvmSince>
+ <camel.quarkus.nativeSince>2.11.0</camel.quarkus.nativeSince>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-soap</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-transport</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf</artifactId>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-extension-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <annotationProcessorPaths>
+ <path>
+ <groupId>io.quarkus</groupId>
+
<artifactId>quarkus-extension-processor</artifactId>
+ <version>${quarkus.version}</version>
+ </path>
+ </annotationProcessorPaths>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>full</id>
+ <activation>
+ <property>
+ <name>!quickly</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>update-extension-doc-page</id>
+ <goals>
+ <goal>update-extension-doc-page</goal>
+ </goals>
+ <phase>process-classes</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git
a/extensions/cxf-soap/runtime/src/main/resources/META-INF/cxf/bus-extensions.txt
b/extensions/cxf-soap/runtime/src/main/resources/META-INF/cxf/bus-extensions.txt
new file mode 100644
index 0000000000..a3fc2717a8
--- /dev/null
+++
b/extensions/cxf-soap/runtime/src/main/resources/META-INF/cxf/bus-extensions.txt
@@ -0,0 +1 @@
+io.quarkiverse.cxf.transport.VertxDestinationFactory::true
\ No newline at end of file
diff --git
a/extensions/cxf-soap/runtime/src/main/resources/META-INF/quarkus-extension.yaml
b/extensions/cxf-soap/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000000..8ed563ced5
--- /dev/null
+++
b/extensions/cxf-soap/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,31 @@
+#
+# 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.
+#
+
+# This is a generated file. Do not edit directly!
+# To re-generate, run the following command from the top level directory:
+#
+# mvn -N cq:update-quarkus-metadata
+#
+---
+name: "Camel CXF"
+description: "Expose SOAP WebServices using Apache CXF or connect to external
WebServices using CXF WS client"
+metadata:
+ guide:
"https://camel.apache.org/camel-quarkus/latest/reference/extensions/cxf-soap.html"
+ categories:
+ - "integration"
+ status:
+ - "stable"
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 898f6dc302..cb687ec9e1 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -82,6 +82,7 @@
<module>crypto</module>
<module>csimple</module>
<module>csv</module>
+ <module>cxf-soap</module>
<module>dataformat</module>
<module>dataset</module>
<module>datasonnet</module>
diff --git a/integration-tests/cxf-soap/pom.xml
b/integration-tests/cxf-soap/pom.xml
new file mode 100644
index 0000000000..9f1a274ddd
--- /dev/null
+++ b/integration-tests/cxf-soap/pom.xml
@@ -0,0 +1,211 @@
+<?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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-build-parent-it</artifactId>
+ <version>2.12.0-SNAPSHOT</version>
+ <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
+ </parent>
+
+ <artifactId>camel-quarkus-integration-test-cxf-soap</artifactId>
+ <name>Camel Quarkus :: Integration Tests :: CXF</name>
+ <description>Integration tests for Camel Quarkus CXF
extension</description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-codegen-plugin</artifactId>
+ <version>${cxf-version}</version>
+ <executions>
+ <execution>
+ <id>generate-sources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+
<sourceRoot>${project.build.directory}/generated-sources</sourceRoot>
+ <wsdlOptions>
+ <wsdlOption>
+
<wsdl>${basedir}/src/main/resources/wsdl/HelloService.wsdl</wsdl>
+ <extraargs>
+ <extraarg>-xjc-Xts</extraarg>
+ </extraargs>
+ </wsdlOption>
+ </wsdlOptions>
+ </configuration>
+ <goals>
+ <goal>wsdl2java</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.cxf.xjcplugins</groupId>
+ <artifactId>cxf-xjc-ts</artifactId>
+ <version>${cxf-xjc-plugin-version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-resteasy</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-xml-io-dsl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-direct</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.cxf.xjc-utils</groupId>
+ <artifactId>cxf-xjc-runtime</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf-rt-ws-security</artifactId>
+ </dependency>
+
+ <!-- test dependencies -->
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-junit5</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>io.rest-assured</groupId>
+ <artifactId>rest-assured</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-integration-wiremock-support</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <profiles>
+ <profile>
+ <id>native</id>
+ <activation>
+ <property>
+ <name>native</name>
+ </property>
+ </activation>
+ <properties>
+ <quarkus.package.type>native</quarkus.package.type>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>virtualDependencies</id>
+ <activation>
+ <property>
+ <name>!noVirtualDependencies</name>
+ </property>
+ </activation>
+ <dependencies>
+ <!-- The following dependencies guarantee that this module is
built after them. You can update them by running `mvn process-resources
-Pformat -N` from the source tree root directory -->
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap-deployment</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-direct-deployment</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+
<artifactId>camel-quarkus-xml-io-dsl-deployment</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+
+</project>
diff --git
a/integration-tests/cxf-soap/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapResource.java
b/integration-tests/cxf-soap/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapResource.java
new file mode 100644
index 0000000000..1e8fb13914
--- /dev/null
+++
b/integration-tests/cxf-soap/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapResource.java
@@ -0,0 +1,120 @@
+/*
+ * 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.quarkus.component.cxf.soap.it;
+
+import java.net.URI;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import com.helloworld.service.PersonRequestType;
+import com.helloworld.service.PersonResponseType;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ProducerTemplate;
+import org.jboss.logging.Logger;
+
+@Path("/cxf-soap")
+@ApplicationScoped
+public class CxfSoapResource {
+
+ private static final Logger LOG = Logger.getLogger(CxfSoapResource.class);
+
+ private static final String COMPONENT_CXF = "cxf";
+ @Inject
+ CamelContext context;
+
+ @Inject
+ ProducerTemplate producerTemplate;
+
+ @Path("/load/component/cxf")
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public Response loadComponentCxf() throws Exception {
+ /* This is an autogenerated test */
+ if (context.getComponent(COMPONENT_CXF) != null) {
+ return Response.ok().build();
+ }
+ LOG.warnf("Could not load [%s] from the Camel context", COMPONENT_CXF);
+ return Response.status(500, COMPONENT_CXF + " could not be loaded from
the Camel context").build();
+ }
+
+ @Path("/sendSimpleSoapRequest")
+ @GET
+ @Consumes(MediaType.WILDCARD)
+ @Produces(MediaType.WILDCARD)
+ public Response sendSimpleRequest() throws Exception {
+ LOG.infof("Sending to cxf: %s", "CamelQuarkusCXF");
+ final String response =
producerTemplate.requestBody("direct:sendSimpleSoapRequest", "CamelQuarkusCXF",
String.class);
+ LOG.infof("Got response from cxf: %s", response);
+ return Response
+ .created(new URI("https://camel.apache.org/"))
+ .entity(response)
+ .build();
+ }
+
+ @Path("/wsSecurity")
+ @GET
+ @Consumes(MediaType.WILDCARD)
+ @Produces(MediaType.WILDCARD)
+ public Response wsSecurity() throws Exception {
+ LOG.infof("Sending to cxf: %s", "CamelQuarkusCXF");
+ final String response =
producerTemplate.requestBody("direct:wsSecurity", "CamelQuarkusCXF",
String.class);
+ LOG.infof("Got response from cxf: %s", response);
+ return Response
+ .created(new URI("https://camel.apache.org/"))
+ .entity(response)
+ .build();
+ }
+
+ @Path("/sendComplexSoapRequest")
+ @GET
+ @Consumes(MediaType.WILDCARD)
+ @Produces(MediaType.WILDCARD)
+ public Response sendComplexSoapRequest() throws Exception {
+ PersonRequestType personRequestType = new PersonRequestType();
+ personRequestType.setFirstName("Camel Quarkus");
+ personRequestType.setLastName("CXF");
+ LOG.infof("Sending to cxf: %s", personRequestType);
+ final PersonResponseType response =
producerTemplate.requestBody("direct:sendComplexSoapRequest", personRequestType,
+ PersonResponseType.class);
+ LOG.infof("Got response from cxf: %s", response);
+ return Response
+ .created(new URI("https://camel.apache.org/"))
+ .entity(response.toString())
+ .build();
+ }
+
+ @Path("/soapService")
+ @GET
+ @Consumes(MediaType.WILDCARD)
+ @Produces(MediaType.WILDCARD)
+ public Response soapService() throws Exception {
+ LOG.infof("Sending to cxf: %s", "CamelQuarkusCXF");
+ final String response =
producerTemplate.requestBody("direct:helloService", "CamelQuarkusCXF",
String.class);
+ LOG.infof("Got response from cxf: %s", response);
+ return Response
+ .created(new URI("https://camel.apache.org/"))
+ .entity(response)
+ .build();
+ }
+}
diff --git
a/integration-tests/cxf-soap/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/PasswordCallback.java
b/integration-tests/cxf-soap/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/PasswordCallback.java
new file mode 100644
index 0000000000..55d5f5651e
--- /dev/null
+++
b/integration-tests/cxf-soap/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/PasswordCallback.java
@@ -0,0 +1,84 @@
+/*
+ * 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.quarkus.component.cxf.it;
+
+import java.io.IOException;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Named;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import io.quarkus.runtime.annotations.RegisterForReflection;
+import org.eclipse.microprofile.config.inject.ConfigProperty;
+
+@RegisterForReflection
+@ApplicationScoped
+@Named("passwordCallback")
+public class PasswordCallback implements CallbackHandler {
+ @ConfigProperty(name = "password-callback.username")
+ private String username;
+ @ConfigProperty(name = "password-callback.password")
+ private String password;
+
+ /**
+ * Here, we attempt to get the password from the private alias/passwords
map.
+ */
+ @Override
+ public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException {
+ for (Callback callback : callbacks) {
+ try {
+ String id = (String)
callback.getClass().getMethod("getIdentifier").invoke(callback);
+ String pass = getPassword();
+ if (pass != null) {
+ callback.getClass().getMethod("setPassword",
String.class).invoke(callback, pass);
+ return;
+ }
+ } catch (Exception ex) {
+ UnsupportedCallbackException e = new
UnsupportedCallbackException(callback);
+ e.initCause(ex);
+ throw e;
+ }
+ }
+ }
+
+ /**
+ * Add an alias/password pair to the callback mechanism.
+ */
+ public void setAliasPassword(String alias, String password) {
+ setUsername(alias);
+ setPassword(password);
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+}
diff --git
a/integration-tests/cxf-soap/src/main/resources/application.properties
b/integration-tests/cxf-soap/src/main/resources/application.properties
new file mode 100644
index 0000000000..f5b73f7633
--- /dev/null
+++ b/integration-tests/cxf-soap/src/main/resources/application.properties
@@ -0,0 +1,68 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+camel.context.name = camel-quarkus-integration-tests-cxf-soap
+
+#
+# Main
+#
+camel.main.routes-include-pattern=classpath:routes/cxf-client-routes.xml,classpath:routes/cxf-service-routes.xml
+
+camel.main.startup-summary-level = verbose
+
+password-callback.username=camel
+password-callback.password=quarkus
+
+camel.beans.wssArgs=#class:java.util.HashMap
+camel.beans.wssArgs.action=UsernameToken
+camel.beans.wssArgs.passwordType=PasswordText
+camel.beans.wssArgs.user=camel
+camel.beans.wssArgs.passwordCallbackRef=#bean:passwordCallback
+camel.beans.wssArgs.addUsernameTokenNonce=true
+camel.beans.wssArgs.addUsernameTokenCreated=true
+
+camel.beans.wssInterceptor=#class:org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor(#bean:wssArgs)
+
+camel.beans.loggingFeature=#class:org.apache.cxf.ext.logging.LoggingFeature
+camel.beans.loggingFeature.prettyLogging=true
+
+camel.beans.secureEndpoint=#class:org.apache.camel.component.cxf.jaxws.CxfEndpoint
+camel.beans.secureEndpoint.serviceClass=com.helloworld.service.HelloPortType
+camel.beans.secureEndpoint.address=${wiremock.url}/hellowss
+camel.beans.secureEndpoint.wsdlURL=wsdl/HelloService.wsdl
+camel.beans.secureEndpoint.features[0]=#bean:loggingFeature
+camel.beans.secureEndpoint.outInterceptors[0]=#bean:wssInterceptor
+
+camel.beans.soapClientEndpoint=#class:org.apache.camel.component.cxf.jaxws.CxfEndpoint
+camel.beans.soapClientEndpoint.serviceClass=com.helloworld.service.HelloPortType
+camel.beans.soapClientEndpoint.address=${wiremock.url}/hello
+camel.beans.soapClientEndpoint.wsdlURL=wsdl/HelloService.wsdl
+camel.beans.soapClientEndpoint.features[0]=#bean:loggingFeature
+
+camel.beans.soapServiceEndpoint=#class:org.apache.camel.component.cxf.jaxws.CxfEndpoint
+camel.beans.soapServiceEndpoint.serviceClass=com.helloworld.service.HelloPortType
+camel.beans.soapServiceEndpoint.address=/hello
+camel.beans.soapServiceEndpoint.wsdlURL=wsdl/HelloService.wsdl
+camel.beans.soapServiceEndpoint.features[0]=#bean:loggingFeature
+
+camel.beans.codeFirstServiceEndpoint=#class:org.apache.camel.component.cxf.jaxws.CxfEndpoint
+camel.beans.codeFirstServiceEndpoint.serviceClass=com.helloworld.service.CodeFirstService
+camel.beans.codeFirstServiceEndpoint.address=/codefirst
+camel.beans.codeFirstServiceEndpoint.features[0]=#bean:loggingFeature
+
+quarkus.cxf.path=/soapservice
+quarkus.native.resources.includes = wsdl/*.wsdl,*.xml
+quarkus.log.level=INFO
diff --git
a/integration-tests/cxf-soap/src/main/resources/routes/cxf-client-routes.xml
b/integration-tests/cxf-soap/src/main/resources/routes/cxf-client-routes.xml
new file mode 100644
index 0000000000..6855633b5d
--- /dev/null
+++ b/integration-tests/cxf-soap/src/main/resources/routes/cxf-client-routes.xml
@@ -0,0 +1,44 @@
+<?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.
+
+-->
+<routes id="cxf"
+ xmlns="http://camel.apache.org/schema/spring"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+ <route id="cxfClient1">
+ <from uri="direct:sendSimpleSoapRequest"/>
+ <to uri="cxf:bean:soapClientEndpoint?dataFormat=POJO" pattern="InOut"/>
+ </route>
+
+ <route id="cxfClient2">
+ <from uri="direct:wsSecurity"/>
+ <to uri="cxf:bean:secureEndpoint?dataFormat=POJO" pattern="InOut"/>
+ </route>
+
+ <route id="cxfClient3">
+ <from uri="direct:sendComplexSoapRequest"/>
+ <setHeader name="operationName">
+ <constant>Person</constant>
+ </setHeader>
+ <to uri="cxf:bean:soapClientEndpoint?dataFormat=POJO" pattern="InOut"/>
+ </route>
+
+</routes>
\ No newline at end of file
diff --git
a/integration-tests/cxf-soap/src/main/resources/routes/cxf-service-routes.xml
b/integration-tests/cxf-soap/src/main/resources/routes/cxf-service-routes.xml
new file mode 100644
index 0000000000..1ad41d212f
--- /dev/null
+++
b/integration-tests/cxf-soap/src/main/resources/routes/cxf-service-routes.xml
@@ -0,0 +1,40 @@
+<?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.
+
+-->
+<routes id="cxf"
+ xmlns="http://camel.apache.org/schema/spring"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+ <route id="cxfService1">
+ <from uri="cxf:bean:soapServiceEndpoint"/>
+ <setBody>
+ <constant>Hello CamelQuarkusCXF</constant>
+ </setBody>
+ </route>
+
+ <route id="cxfService2">
+ <from uri="cxf:bean:codeFirstServiceEndpoint"/>
+ <setBody>
+ <constant>Hello CamelQuarkusCXF</constant>
+ </setBody>
+ </route>
+
+</routes>
\ No newline at end of file
diff --git
a/integration-tests/cxf-soap/src/main/resources/wsdl/HelloService.wsdl
b/integration-tests/cxf-soap/src/main/resources/wsdl/HelloService.wsdl
new file mode 100644
index 0000000000..f68ce72006
--- /dev/null
+++ b/integration-tests/cxf-soap/src/main/resources/wsdl/HelloService.wsdl
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://www.helloworld.com/Service/"
xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.helloworld.com/Service/">
+
+ <wsdl:types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.helloworld.com/Service/">
+ <xsd:element name="HelloRequest" type="xsd:string"/>
+ <xsd:element name="HelloResponse" type="xsd:string"/>
+
+ <xsd:complexType name="PersonRequestType">
+ <xsd:sequence>
+ <xsd:element name="firstName" type="xsd:string"/>
+ <xsd:element name="lastName" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="PersonResponseType">
+ <xsd:complexContent>
+ <extension base="tns:PersonRequestType">
+ <xsd:sequence>
+ <xsd:element name="greeting" type="xsd:string"/>
+ </xsd:sequence>
+ </extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="PersonRequest" type="tns:PersonRequestType"/>
+ <xsd:element name="PersonResponse" type="tns:PersonResponseType"/>
+ </xsd:schema>
+ </wsdl:types>
+
+ <wsdl:message name="helloInputMessage">
+ <wsdl:part name="helloInputPart" element="tns:HelloRequest"/>
+ </wsdl:message>
+ <wsdl:message name="helloOutputMessage">
+ <wsdl:part name="helloOutputPart" element="tns:HelloResponse"/>
+ </wsdl:message>
+
+ <wsdl:message name="personInputMessage">
+ <wsdl:part name="personInputPart" element="tns:PersonRequest"/>
+ </wsdl:message>
+ <wsdl:message name="personOutputMessage">
+ <wsdl:part name="personOutputPart" element="tns:PersonResponse"/>
+ </wsdl:message>
+
+ <wsdl:portType name="HelloPortType">
+ <wsdl:operation name="Hello">
+ <wsdl:input name="helloInput"
+ message="tns:helloInputMessage"/>
+ <wsdl:output name="helloOutput"
+ message="tns:helloOutputMessage"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="Person">
+ <wsdl:input name="personInput"
+ message="tns:personInputMessage"/>
+ <wsdl:output name="personOutput"
+ message="tns:personOutputMessage"/>
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="HelloBinding" type="tns:HelloPortType">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="Hello">
+ <soap:operation
+ soapAction="https://www.helloworld.com/Service/Hello"/>
+ <wsdl:input name="helloInput">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="helloOutput">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="Person">
+ <soap:operation
+ soapAction="https://www.helloworld.com/Service/Person"/>
+ <wsdl:input name="personInput">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="personOutput">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="HelloService">
+ <wsdl:port name="HelloPort" binding="tns:HelloBinding">
+ <soap:address location="http://localhost:7878/hello"/>
+ </wsdl:port>
+ </wsdl:service>
+
+</wsdl:definitions>
\ No newline at end of file
diff --git
a/integration-tests/cxf-soap/src/test/java/com/helloworld/service/CodeFirstService.java
b/integration-tests/cxf-soap/src/test/java/com/helloworld/service/CodeFirstService.java
new file mode 100644
index 0000000000..c3fc931c12
--- /dev/null
+++
b/integration-tests/cxf-soap/src/test/java/com/helloworld/service/CodeFirstService.java
@@ -0,0 +1,33 @@
+/*
+ * 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 com.helloworld.service;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+import javax.jws.soap.SOAPBinding.ParameterStyle;
+
+@WebService(targetNamespace = "http://www.helloworld.com/CodeFirstService/",
name = "CodeFirstService")
+@SOAPBinding(parameterStyle = ParameterStyle.BARE)
+public interface CodeFirstService {
+ @WebMethod(operationName = "Hello", action =
"https://www.helloworld.com/CodeFirstService/Hello")
+ @WebResult(name = "HelloResponse", targetNamespace =
"http://www.helloworld.com/CodeFirstService/")
+ String hello(
+ @WebParam(name = "HelloRequest", targetNamespace =
"http://www.helloworld.com/CodeFirstService/") String var1);
+}
diff --git
a/integration-tests/cxf-soap/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapClientTest.java
b/integration-tests/cxf-soap/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapClientTest.java
new file mode 100644
index 0000000000..155e9d6da3
--- /dev/null
+++
b/integration-tests/cxf-soap/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapClientTest.java
@@ -0,0 +1,68 @@
+/*
+ * 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.quarkus.component.cxf.soap.it;
+
+import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@QuarkusTest
+@QuarkusTestResource(CxfSoapClientTestResource.class)
+class CxfSoapClientTest {
+
+ @Test
+ public void loadComponentCxf() {
+ /* A simple autogenerated test */
+ RestAssured.get("/cxf-soap/load/component/cxf")
+ .then()
+ .statusCode(200);
+ }
+
+ @Test
+ public void testSimpleSoapClient() {
+ final String response =
RestAssured.get("/cxf-soap/sendSimpleSoapRequest")
+ .then()
+ .statusCode(201)
+ .assertThat()
+ .extract().asString();
+ assertEquals("Hello CamelQuarkusCXF", response);
+ }
+
+ @Test
+ public void testWSSecurity() {
+ final String response = RestAssured.get("/cxf-soap/wsSecurity")
+ .then()
+ .statusCode(201)
+ .assertThat()
+ .extract().asString();
+ assertEquals("Hello WSSecurity CamelQuarkusCXF", response);
+ }
+
+ @Test
+ public void testComplexSoapClient() {
+ final String response =
RestAssured.get("/cxf-soap/sendComplexSoapRequest")
+ .then()
+ .statusCode(201)
+ .assertThat()
+ .extract().asString();
+ assertTrue(response.contains("greeting=Hello"));
+ }
+}
diff --git
a/integration-tests/cxf-soap/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapClientTestResource.java
b/integration-tests/cxf-soap/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapClientTestResource.java
new file mode 100644
index 0000000000..9a01702e63
--- /dev/null
+++
b/integration-tests/cxf-soap/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapClientTestResource.java
@@ -0,0 +1,32 @@
+/*
+ * 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.quarkus.component.cxf.soap.it;
+
+import
org.apache.camel.quarkus.test.wiremock.WireMockTestResourceLifecycleManager;
+
+public class CxfSoapClientTestResource extends
WireMockTestResourceLifecycleManager {
+
+ @Override
+ protected String getRecordTargetBaseUrl() {
+ return "/";
+ }
+
+ @Override
+ protected boolean isMockingEnabled() {
+ return true;
+ }
+}
diff --git
a/integration-tests/cxf-soap/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapServiceTest.java
b/integration-tests/cxf-soap/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapServiceTest.java
new file mode 100644
index 0000000000..8b08e6235f
--- /dev/null
+++
b/integration-tests/cxf-soap/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/CxfSoapServiceTest.java
@@ -0,0 +1,69 @@
+/*
+ * 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.quarkus.component.cxf.soap.it;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@QuarkusTest
+class CxfSoapServiceTest {
+
+ @Test
+ public void testSimpleSoapService() {
+ final String response = RestAssured.given()
+ .contentType(ContentType.XML)
+ .body("<soapenv:Envelope
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:ser=\"http://www.helloworld.com/Service/\">\n"
+ +
+ " <soapenv:Header/>\n" +
+ " <soapenv:Body>\n" +
+ "
<ser:HelloRequest>HelloWorld</ser:HelloRequest>\n" +
+ " </soapenv:Body>\n" +
+ "</soapenv:Envelope>")
+ .post("/soapservice/hello")
+ .then()
+ .statusCode(200)
+ .assertThat()
+ .extract().asString();
+
+ assertTrue(response.contains("Hello CamelQuarkusCXF"));
+ }
+
+ @Test
+ public void testCodeFirstSoapService() {
+ final String response = RestAssured.given()
+ .contentType(ContentType.XML)
+ .body("<soapenv:Envelope
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:ser=\"http://www.helloworld.com/CodeFirstService/\">\n"
+ +
+ " <soapenv:Header/>\n" +
+ " <soapenv:Body>\n" +
+ "
<ser:HelloRequest>HelloWorld</ser:HelloRequest>\n" +
+ " </soapenv:Body>\n" +
+ "</soapenv:Envelope>")
+ .post("/soapservice/codefirst")
+ .then()
+ .statusCode(200)
+ .assertThat()
+ .extract().asString();
+
+ assertTrue(response.contains("Hello CamelQuarkusCXF"));
+ }
+
+}
diff --git
a/integration-tests/cxf-soap/src/test/resources/__files/simpleHelloWorldResponse.xml
b/integration-tests/cxf-soap/src/test/resources/__files/simpleHelloWorldResponse.xml
new file mode 100644
index 0000000000..95d7c485f0
--- /dev/null
+++
b/integration-tests/cxf-soap/src/test/resources/__files/simpleHelloWorldResponse.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:hello="http://www.helloworld.com/Service/">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <hello:HelloResponse>Hello CamelQuarkusCXF</hello:HelloResponse>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git
a/integration-tests/cxf-soap/src/test/resources/__files/soapObjectResponse.xml
b/integration-tests/cxf-soap/src/test/resources/__files/soapObjectResponse.xml
new file mode 100644
index 0000000000..34725c1a53
--- /dev/null
+++
b/integration-tests/cxf-soap/src/test/resources/__files/soapObjectResponse.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:hello="http://www.helloworld.com/Service/">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <ns2:PersonResponse xmlns:ns2="http://www.helloworld.com/Service/">
+ <firstName>Camel Quarkus</firstName>
+ <lastName>CXF</lastName>
+ <greeting>Hello</greeting>
+ </ns2:PersonResponse>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git
a/integration-tests/cxf-soap/src/test/resources/__files/wsSecurityResponse.xml
b/integration-tests/cxf-soap/src/test/resources/__files/wsSecurityResponse.xml
new file mode 100644
index 0000000000..2edf8040d2
--- /dev/null
+++
b/integration-tests/cxf-soap/src/test/resources/__files/wsSecurityResponse.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:hello="http://www.helloworld.com/Service/">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <hello:HelloResponse>Hello WSSecurity
CamelQuarkusCXF</hello:HelloResponse>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git
a/integration-tests/cxf-soap/src/test/resources/mappings/simpleHelloWorld.json
b/integration-tests/cxf-soap/src/test/resources/mappings/simpleHelloWorld.json
new file mode 100644
index 0000000000..49d1d8c09a
--- /dev/null
+++
b/integration-tests/cxf-soap/src/test/resources/mappings/simpleHelloWorld.json
@@ -0,0 +1,27 @@
+{
+ "request": {
+ "method": "POST",
+ "url": "/hello",
+ "headers": {
+ "Content-Type": {
+ "equalTo": "text/xml; charset=UTF-8"
+ },
+ "SOAPAction": {
+ "equalTo": "\"https://www.helloworld.com/Service/Hello\""
+ }
+ },
+ "bodyPatterns": [
+ {
+ "equalToXml": "<soap:Envelope
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><HelloRequest
xmlns=\"http://www.helloworld.com/Service/\">CamelQuarkusCXF</HelloRequest></soap:Body></soap:Envelope>",
+ "exemptedComparisons": ["NAMESPACE_URI", "NAMESPACE_PREFIX"]
+ }
+ ]
+ },
+ "response": {
+ "status": 200,
+ "bodyFileName": "simpleHelloWorldResponse.xml",
+ "headers": {
+ "Content-Type": "text/xml; charset=UTF-8"
+ }
+ }
+}
\ No newline at end of file
diff --git
a/integration-tests/cxf-soap/src/test/resources/mappings/soapObject.json
b/integration-tests/cxf-soap/src/test/resources/mappings/soapObject.json
new file mode 100644
index 0000000000..58ae479ebc
--- /dev/null
+++ b/integration-tests/cxf-soap/src/test/resources/mappings/soapObject.json
@@ -0,0 +1,29 @@
+{
+ "request": {
+ "method": "POST",
+ "url": "/hello",
+ "headers": {
+ "Content-Type": {
+ "equalTo": "text/xml; charset=UTF-8"
+ },
+ "SOAPAction": {
+ "equalTo": "\"https://www.helloworld.com/Service/Person\""
+ }
+ },
+ "bodyPatterns": [
+ {
+ "matchesXPath": "//ns2:PersonRequest",
+ "xPathNamespaces": {
+ "ns2": "http://www.helloworld.com/Service/"
+ }
+ }
+ ]
+ },
+ "response": {
+ "status": 200,
+ "bodyFileName": "soapObjectResponse.xml",
+ "headers": {
+ "Content-Type": "text/xml; charset=UTF-8"
+ }
+ }
+}
\ No newline at end of file
diff --git
a/integration-tests/cxf-soap/src/test/resources/mappings/wsSecurity.json
b/integration-tests/cxf-soap/src/test/resources/mappings/wsSecurity.json
new file mode 100644
index 0000000000..1884da14f8
--- /dev/null
+++ b/integration-tests/cxf-soap/src/test/resources/mappings/wsSecurity.json
@@ -0,0 +1,59 @@
+{
+ "request": {
+ "method": "POST",
+ "url": "/hellowss",
+ "headers": {
+ "Content-Type": {
+ "equalTo": "text/xml; charset=UTF-8"
+ },
+ "SOAPAction": {
+ "equalTo": "\"https://www.helloworld.com/Service/Hello\""
+ }
+ },
+ "bodyPatterns": [
+ {
+ "matchesXPath": "//wsse:Security",
+ "xPathNamespaces": {
+ "wsse":
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
+ }
+ },
+ {
+ "matchesXPath": "//wsse:UsernameToken",
+ "xPathNamespaces": {
+ "wsse":
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
+ }
+ },
+ {
+ "matchesXPath": "//wsse:Username",
+ "xPathNamespaces": {
+ "wsse":
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
+ }
+ },
+ {
+ "matchesXPath": "//wsse:Password",
+ "xPathNamespaces": {
+ "wsse":
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
+ }
+ },
+ {
+ "matchesXPath": "//wsse:Nonce",
+ "xPathNamespaces": {
+ "wsse":
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
+ }
+ },
+ {
+ "matchesXPath": "//wsu:Created",
+ "xPathNamespaces": {
+ "wsu":
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+ }
+ }
+ ]
+ },
+ "response": {
+ "status": 200,
+ "bodyFileName": "wsSecurityResponse.xml",
+ "headers": {
+ "Content-Type": "text/xml; charset=UTF-8"
+ }
+ }
+}
\ No newline at end of file
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index bbd5143e64..b46c772ea3 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -78,6 +78,7 @@
<module>crypto</module>
<module>csimple</module>
<module>csv</module>
+ <module>cxf-soap</module>
<module>dataformat</module>
<module>dataformats-json</module>
<module>datasonnet</module>
diff --git
a/integration-tests/xmlsecurity/src/main/java/org/apache/camel/quarkus/component/xmlsecurity/it/XmlsecurityProducers.java
b/integration-tests/xmlsecurity/src/main/java/org/apache/camel/quarkus/component/xmlsecurity/it/XmlsecurityProducers.java
index e3976a01a0..5a09ecc115 100644
---
a/integration-tests/xmlsecurity/src/main/java/org/apache/camel/quarkus/component/xmlsecurity/it/XmlsecurityProducers.java
+++
b/integration-tests/xmlsecurity/src/main/java/org/apache/camel/quarkus/component/xmlsecurity/it/XmlsecurityProducers.java
@@ -141,4 +141,12 @@ public class XmlsecurityProducers {
keyGenerator.generateKey();
return keyGenerator.generateKey();
}
+
+ @Produces
+ @Named("cryptoContextProperties")
+ public Map<String, Object> cryptoContextProperties() {
+ Map<String, Object> properties = new HashMap<>();
+ properties.put("org.apache.jcp.xml.dsig.secureValidation",
Boolean.FALSE);
+ return properties;
+ }
}
diff --git
a/integration-tests/xmlsecurity/src/main/java/org/apache/camel/quarkus/component/xmlsecurity/it/XmlsecurityRoutes.java
b/integration-tests/xmlsecurity/src/main/java/org/apache/camel/quarkus/component/xmlsecurity/it/XmlsecurityRoutes.java
index 9e5c860997..84c52a2632 100644
---
a/integration-tests/xmlsecurity/src/main/java/org/apache/camel/quarkus/component/xmlsecurity/it/XmlsecurityRoutes.java
+++
b/integration-tests/xmlsecurity/src/main/java/org/apache/camel/quarkus/component/xmlsecurity/it/XmlsecurityRoutes.java
@@ -77,10 +77,10 @@ public class XmlsecurityRoutes extends RouteBuilder {
.to("xmlsecurity-verify:transformsXPath?keySelector=#selector");
from("direct:transformsXsltXPath-sign")
-
.to("xmlsecurity-sign:transformsXsltXPath?keyAccessor=#accessor&transformMethods=#transformsXsltXPath");
+
.to("xmlsecurity-sign:transformsXsltXPath?keyAccessor=#accessor&transformMethods=#transformsXsltXPath&cryptoContextProperties=#cryptoContextProperties");
from("direct:transformsXsltXPath-verify")
-
.to("xmlsecurity-verify:transformsXsltXPath?keySelector=#selector&secureValidation=false");
+
.to("xmlsecurity-verify:transformsXsltXPath?keySelector=#selector&secureValidation=false&cryptoContextProperties=#cryptoContextProperties");
from("direct:marshal")
.marshal().xmlSecurity(key.getEncoded());
diff --git a/pom.xml b/pom.xml
index 55e7f62236..b27b1ce15c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,6 +50,7 @@
<optaplanner.version>8.24.1.Final</optaplanner.version><!-- May go
back to Camel's ${optaplanner-version} when they are in sync
https://repo1.maven.org/maven2/org/optaplanner/optaplanner-quarkus/ -->
<quarkiverse-amazonservices.version>1.1.2</quarkiverse-amazonservices.version><!--
https://repo1.maven.org/maven2/io/quarkiverse/amazonservices/quarkus-amazon-services-parent/
-->
<quarkiverse-artemis.version>1.2.0</quarkiverse-artemis.version><!--
https://repo1.maven.org/maven2/io/quarkiverse/artemis/quarkus-artemis-parent/
-->
+ <quarkiverse-cxf.version>1.4.0</quarkiverse-cxf.version><!--
https://repo1.maven.org/maven2/io/quarkiverse/cxf/quarkus-cxf-parent/ -->
<quarkiverse-freemarker.version>0.3.0</quarkiverse-freemarker.version><!--
https://repo1.maven.org/maven2/io/quarkiverse/freemarker/quarkus-freemarker-parent/
-->
<quarkiverse-jackson-jq.version>1.1.0</quarkiverse-jackson-jq.version><!--
https://repo1.maven.org/maven2/io/quarkiverse/jackson-jq/quarkus-jackson-jq-parent/
-->
<quarkiverse-jgit.version>2.1.0</quarkiverse-jgit.version><!--
https://repo1.maven.org/maven2/io/quarkiverse/jgit/quarkus-jgit-parent/ -->
@@ -117,6 +118,7 @@
<libthrift.version>${libthrift-version}</libthrift.version> <!-- Spark
-->
<msal4j.version>1.12.0</msal4j.version><!-- @sync
com.azure:azure-identity:${azure-identity-version}
dep:com.microsoft.azure:msal4j -->
<mvel2.version>2.4.14.Final</mvel2.version><!-- @sync
org.apache.camel:camel-dependencies:${camel.version} prop:mvel-version -->
+ <neethi.version>3.2.0</neethi.version>
<okio.version>${squareup-okio-version}</okio.version>
<opencensus.version>0.31.0</opencensus.version><!-- Mess in Google
cloud. Keep in sync with version used in
com.google.http-client:google-http-client -->
<perfmark-api.version>0.25.0</perfmark-api.version><!-- @sync
io.grpc:grpc-netty-shaded:${grpc.version} dep:io.perfmark:perfmark-api -->
@@ -132,6 +134,7 @@
<xchange.version>${xchange-version}</xchange.version>
<xerces.version>${xerces-version}</xerces.version>
<xmlgraphics-commons.version>2.7</xmlgraphics-commons.version><!--
@sync org.apache.xmlgraphics:fop-parent:${fop-version}
prop:xmlgraphics.commons.version -->
+ <xmlsec.version>2.3.0</xmlsec.version>
<xstream.version>${xstream-version}</xstream.version>
<web3j.version>${web3j-version}</web3j.version>
<web3j.quorum.version>${web3j-quorum-version}</web3j.quorum.version>
@@ -520,6 +523,7 @@
<exclude>**/.idea/**</exclude>
<exclude>**/k8s-sb/**</exclude>
<exclude>.gitattributes</exclude>
+
<exclude>**/src/test/resources/__files/*.xml</exclude>
</excludes>
<mapping>
<cli>CAMEL_PROPERTIES_STYLE</cli>
diff --git a/poms/bom-test/pom.xml b/poms/bom-test/pom.xml
index 7f8df3e7e6..fcb8a6bf53 100644
--- a/poms/bom-test/pom.xml
+++ b/poms/bom-test/pom.xml
@@ -353,6 +353,67 @@
<version>${greenmail.version}</version>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.cxf.xjc-utils</groupId>
+ <artifactId>cxf-xjc-runtime</artifactId>
+ <version>${cxf-xjc-utils-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency><!-- Resolves Quarkus CXF convergence error -->
+ <groupId>org.ehcache</groupId>
+ <artifactId>ehcache</artifactId>
+ <version>${ehcache3-version}</version>
+ </dependency>
+ <dependency><!-- Resolves Quarkus CXF convergence error -->
+ <groupId>org.apache.neethi</groupId>
+ <artifactId>neethi</artifactId>
+ <version>${neethi.version}</version>
+ </dependency>
+ <dependency><!-- Resolves Quarkus CXF convergence error -->
+ <groupId>org.apache.santuario</groupId>
+ <artifactId>xmlsec</artifactId>
+ <version>${xmlsec.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf-rt-ws-security</artifactId>
+ <version>${quarkiverse-cxf.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf-rt-ws-security-deployment</artifactId>
+ <version>${quarkiverse-cxf.version}</version>
+ </dependency>
</dependencies>
</dependencyManagement>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 78674e0c4f..65f7f745e2 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -1636,6 +1636,87 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-common</artifactId>
+ <version>${camel.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-soap</artifactId>
+ <version>${camel.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-dataset</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-directvm</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-transport</artifactId>
+ <version>${camel.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-common</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-dataformat</artifactId>
@@ -1849,6 +1930,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-directvm</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-disruptor</artifactId>
@@ -5336,6 +5422,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-test-junit5</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-threadpoolfactory-vertx</artifactId>
@@ -6679,6 +6770,16 @@
<artifactId>camel-quarkus-csv-deployment</artifactId>
<version>${camel-quarkus.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap</artifactId>
+ <version>${camel-quarkus.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap-deployment</artifactId>
+ <version>${camel-quarkus.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-dataformat</artifactId>
@@ -9783,6 +9884,50 @@
<artifactId>reactor-netty</artifactId>
<version>${projectreactor-netty.version}</version>
</dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf</artifactId>
+ <version>${quarkiverse-cxf.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-http</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf-deployment</artifactId>
+ <version>${quarkiverse-cxf.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf-rt-ws-security</artifactId>
+ <version>${quarkiverse-cxf.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf-rt-ws-security-deployment</artifactId>
+ <version>${quarkiverse-cxf.version}</version>
+ </dependency>
<dependency>
<groupId>io.quarkiverse.freemarker</groupId>
<artifactId>quarkus-freemarker</artifactId>
@@ -9964,6 +10109,107 @@
<artifactId>curator-x-discovery</artifactId>
<version>${curator.version}</version>
</dependency>
+ <dependency><!-- Resolves dependency convergence error between CXF
and CMIS -->
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-core</artifactId>
+ <version>${cxf-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency><!-- Resolves dependency convergence error between CXF
and CMIS -->
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-bindings-soap</artifactId>
+ <version>${cxf-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency><!-- Resolves dependency convergence error between
Camel CXF and Quarkus CXF -->
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ <version>${cxf-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-ws-addr</artifactId>
+ <version>${cxf-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-ws-policy</artifactId>
+ <version>${cxf-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-ws-rm</artifactId>
+ <version>${cxf-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency><!-- Resolves dependency convergence error between CXF
and CMIS -->
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-wsdl</artifactId>
+ <version>${cxf-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.htrace</groupId>
<artifactId>htrace-core4</artifactId>
@@ -10009,6 +10255,26 @@
<artifactId>kudu-client</artifactId>
<version>${kudu.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.santuario</groupId>
+ <artifactId>xmlsec</artifactId>
+ <version>${xmlsec-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency><!-- Resolves Quarkus CXF convergence error -->
+ <groupId>org.apache.santuario</groupId>
+ <artifactId>xmlsec</artifactId>
+ <version>${xmlsec.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>xmlgraphics-commons</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml
b/poms/bom/src/main/generated/flattened-full-pom.xml
index 1bb8457715..693bf95c6c 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -1582,6 +1582,87 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-cxf-common</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>javax.servlet-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-cxf-soap</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-dataset</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-directvm</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>javax.servlet-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-cxf-transport</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-cxf-common</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>javax.servlet-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-dataformat</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -1795,6 +1876,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-directvm</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-disruptor</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -5282,6 +5368,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-test-junit5</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-threadpoolfactory-vertx</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -6623,6 +6714,16 @@
<artifactId>camel-quarkus-csv-deployment</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>2.12.0-SNAPSHOT</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-quarkus-cxf-soap</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>2.12.0-SNAPSHOT</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-quarkus-cxf-soap-deployment</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>2.12.0-SNAPSHOT</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-quarkus-dataformat</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -9725,6 +9826,50 @@
<artifactId>reactor-netty</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>1.0.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>quarkus-cxf</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>1.4.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-transports-http</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-frontend-jaxws</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>quarkus-cxf-deployment</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>1.4.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>quarkus-cxf-rt-ws-security</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>1.4.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>quarkus-cxf-rt-ws-security-deployment</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>1.4.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>io.quarkiverse.freemarker</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>quarkus-freemarker</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -9912,6 +10057,107 @@
<artifactId>curator-x-discovery</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>4.3.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-core</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-bindings-soap</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-frontend-jaxws</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-ws-addr</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-ws-policy</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-ws-rm</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-wsdl</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.htrace</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>htrace-core4</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -9969,6 +10215,11 @@
<artifactId>kudu-client</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>1.15.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
+ <dependency>
+ <groupId>org.apache.santuario</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>xmlsec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>2.3.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>xmlgraphics-commons</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml
b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index 61729770ca..f781f2ab63 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -1582,6 +1582,87 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-common</artifactId>
+ <version>3.18.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-soap</artifactId>
+ <version>3.18.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-dataset</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-directvm</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-transport</artifactId>
+ <version>3.18.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf-common</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-dataformat</artifactId>
@@ -1795,6 +1876,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-directvm</artifactId>
+ <version>3.18.0</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-disruptor</artifactId>
@@ -5282,6 +5368,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-test-junit5</artifactId>
+ <version>3.18.0</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-threadpoolfactory-vertx</artifactId>
@@ -6623,6 +6714,16 @@
<artifactId>camel-quarkus-csv-deployment</artifactId>
<version>2.12.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap</artifactId>
+ <version>2.12.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-cxf-soap-deployment</artifactId>
+ <version>2.12.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-dataformat</artifactId>
@@ -9725,6 +9826,30 @@
<artifactId>reactor-netty</artifactId>
<version>1.0.2</version>
</dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf</artifactId>
+ <version>1.4.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-http</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId>
+ <artifactId>quarkus-cxf-deployment</artifactId>
+ <version>1.4.0</version>
+ </dependency>
<dependency>
<groupId>io.quarkiverse.freemarker</groupId>
<artifactId>quarkus-freemarker</artifactId>
@@ -9907,6 +10032,88 @@
<artifactId>curator-x-discovery</artifactId>
<version>4.3.0</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-core</artifactId>
+ <version>3.5.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-bindings-soap</artifactId>
+ <version>3.5.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ <version>3.5.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-ws-addr</artifactId>
+ <version>3.5.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-ws-policy</artifactId>
+ <version>3.5.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-wsdl</artifactId>
+ <version>3.5.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.htrace</groupId>
<artifactId>htrace-core4</artifactId>
@@ -9964,6 +10171,11 @@
<artifactId>kudu-client</artifactId>
<version>1.15.0</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.santuario</groupId>
+ <artifactId>xmlsec</artifactId>
+ <version>2.3.0</version>
+ </dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>xmlgraphics-commons</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index 1b51d3b15b..4877a137f5 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -1582,6 +1582,87 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-cxf-common</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>javax.servlet-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-cxf-soap</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-dataset</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-directvm</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>javax.servlet-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-cxf-transport</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-cxf-common</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>javax.servlet-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-dataformat</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -1795,6 +1876,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-directvm</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-disruptor</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -5282,6 +5368,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-test-junit5</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.18.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-threadpoolfactory-vertx</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -6623,6 +6714,16 @@
<artifactId>camel-quarkus-csv-deployment</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>2.12.0-SNAPSHOT</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-quarkus-cxf-soap</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>2.12.0-SNAPSHOT</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>camel-quarkus-cxf-soap-deployment</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>2.12.0-SNAPSHOT</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-quarkus-dataformat</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -9725,6 +9826,30 @@
<artifactId>reactor-netty</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>1.0.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>quarkus-cxf</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>1.4.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-transports-http</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-frontend-jaxws</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>quarkus-cxf-deployment</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>1.4.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>io.quarkiverse.freemarker</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>quarkus-freemarker</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -9907,6 +10032,88 @@
<artifactId>curator-x-discovery</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>4.3.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-core</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-bindings-soap</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-frontend-jaxws</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-ws-addr</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-ws-policy</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.activation-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ <exclusion>
+ <groupId>jakarta.xml.bind</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>jakarta.xml.bind-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>cxf-rt-wsdl</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.5.2</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>geronimo-jta_1.1_spec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.htrace</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>htrace-core4</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -9964,6 +10171,11 @@
<artifactId>kudu-client</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>1.15.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
+ <dependency>
+ <groupId>org.apache.santuario</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>xmlsec</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>2.3.0</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>xmlgraphics-commons</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/tooling/scripts/test-categories.yaml
b/tooling/scripts/test-categories.yaml
index 08ccfacb81..2fe1b676f5 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -83,6 +83,7 @@ group-05:
- bindy
- cbor
- csv
+ - cxf-soap
- dataformat
- datasonnet
- hl7