You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2022/12/01 07:06:33 UTC

[camel-quarkus] branch 2.13.x updated (80aaea952d -> 1db470c2a8)

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

jamesnetherton pushed a change to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


    from 80aaea952d Google-bigquery test sqlCrudOperations fails with real account on branch 2.13.x #4304
     new 7be866099c Add CXF WS-SecurityPolicy test
     new 6f9e37c68d Show a workaround for #4291 SoapFault: BSP:R3227: A SECURITY_HEADER MUST NOT contain more than one TIMESTAMP
     new f61cedbfba Add WS-Trust test for CXF SOAP
     new 13309c1e40 WS-Trust workaround for #4291 SoapFault: BSP:R3227: A SECURITY_HEADER MUST NOT contain more than one TIMESTAMP
     new 00be7e87f2 Upgrade to Quarkiverse CXF 1.5.7
     new ae28a80c82 Reformat poms by running mvn process-resources -Pformat -N
     new cb21e56678 Add quarkus-pooled-jms-deployment to camel-quarkus-bom
     new 1db470c2a8 Test Java first CXF server endpoint with multiple SEI methods #4306

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


Summary of changes:
 .../cxf-soap/cxf-soap-mtom-awt/pom.xml             |   2 +-
 .../cxf-soap/cxf-soap-mtom/pom.xml                 |   2 +-
 .../cxf/soap/server/it}/CodeFirstService.java      |  15 +-
 .../cxf/soap/server/it/CxfSoapRoutes.java          |  13 +-
 .../cxf/soap/server/it/CxfSoapServiceTest.java     |  43 +-
 .../cxf-soap-ws-security-server/README.adoc        |  19 +
 .../cxf-soap/cxf-soap-ws-security-server/pom.xml   | 246 +++++++++++
 .../it/WsSecurityPolicyServerRoutesCxfWay.java}    |  28 +-
 .../it/WssSecurityPolicyHelloServiceCxfWay.java}   |  18 +-
 .../WssSecurityPolicyHelloServiceCxfWayImpl.java   |  44 ++
 .../server/it/PasswordCallbackHandler.java         |  55 +++
 .../server/it/WsSecurityPolicyServerRoutes.java    |  54 +++
 .../server/it/WssSecurityPolicyHelloService.java}  |  18 +-
 .../it/WssSecurityPolicyHelloServiceImpl.java      |  39 ++
 .../{application.properties => alice.properties}   |   7 +-
 .../src/main/resources/application.properties      |   4 +
 .../{application.properties => bob.properties}     |   7 +-
 .../src/main/resources/encrypt-sign-policy.xml     |  75 ++++
 .../it/CxfWssSecurityPolicyServerCxfWayIT.java}    |  19 +-
 .../it/CxfWssSecurityPolicyServerCxfWayTest.java   | 215 ++++++++++
 .../server/it/CxfWssSecurityPolicyServerIT.java}   |  19 +-
 .../server/it/CxfWssSecurityPolicyServerTest.java  | 216 ++++++++++
 .../pom.xml                                        |  29 +-
 .../ws/trust/common/PasswordCallbackHandler.java   |  52 +++
 .../it/ws/trust/server/ServerCallbackHandler.java} |  25 +-
 .../it/ws/trust/server/StsLoggingFeature.java}     |  28 +-
 .../it/ws/trust/server/TrustHelloService.java}     |  25 +-
 .../it/ws/trust/server/WsTrustServerRoutes.java    |  70 ++++
 .../server/cxf/way/TrustHelloServiceCxfWay.java}   |  25 +-
 .../cxf/way/TrustHelloServiceCxfWayImpl.java       |  43 ++
 .../server/cxf/way/WsTrustServerRoutesCxfWay.java} |  29 +-
 .../cxf/soap/it/ws/trust/sts/SampleSTS.java        |  87 ++++
 .../soap/it/ws/trust/sts/StsCallbackHandler.java}  |  27 +-
 .../src/main/resources/AsymmetricSAML2Policy.xml   | 102 +++++
 .../src/main/resources/Input_Policy.xml            |  48 +++
 .../src/main/resources/Output_Policy.xml           |  48 +++
 .../src/main/resources/TrustHelloService.wsdl      | 182 ++++++++
 .../main/resources/TrustHelloService_schema1.xsd   |  36 ++
 .../src/main/resources/application.properties      |   8 +-
 .../src/main/resources/serviceKeystore.properties  |  40 ++
 .../src/main/resources/servicestore.jks            | Bin 0 -> 3475 bytes
 .../src/main/resources/stsKeystore.properties      |  39 ++
 .../src/main/resources/stsstore.jks                | Bin 0 -> 5570 bytes
 .../src/main/resources/ws-trust-1.4-service.wsdl   | 303 ++++++++++++++
 .../soap/it/ws/trust/ClientCallbackHandler.java    |  50 +++
 .../cxf/soap/it/ws/trust/CxfWsTrustIT.java}        |  19 +-
 .../cxf/soap/it/ws/trust/CxfWsTrustTest.java       | 169 ++++++++
 .../it/ws/trust/cxf/way/CxfWsTrustCxfWayIT.java}   |  19 +-
 .../it/ws/trust/cxf/way/CxfWsTrustCxfWayTest.java  | 168 ++++++++
 .../src/test/resources/clientKeystore.properties   |  40 ++
 .../src/test/resources/clientstore.jks             | Bin 0 -> 5571 bytes
 integration-test-groups/cxf-soap/pom.xml           |   1 +
 integration-tests/cxf-soap-grouped/pom.xml         | 245 +++++++++++
 integration-tests/debezium/pom.xml                 |  26 --
 integration-tests/xml/pom.xml                      |  39 ++
 pom.xml                                            |   3 +-
 poms/bom/pom.xml                                   |   5 +
 poms/bom/src/main/generated/flattened-full-pom.xml | 457 +++++++++++----------
 .../src/main/generated/flattened-reduced-pom.xml   |  43 +-
 .../generated/flattened-reduced-verbose-pom.xml    | 457 +++++++++++----------
 poms/build-parent-it/pom.xml                       |   5 +
 61 files changed, 3444 insertions(+), 706 deletions(-)
 copy integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/{com/helloworld/service => org/apache/camel/quarkus/component/cxf/soap/server/it}/CodeFirstService.java (62%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-security-server/README.adoc
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WsSecurityPolicyServerRoutesCxfWay.java} (51%)
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WssSecurityPolicyHelloServiceCxfWay.java} (54%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WssSecurityPolicyHelloServiceCxfWayImpl.java
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/PasswordCallbackHandler.java
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WsSecurityPolicyServerRoutes.java
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WssSecurityPolicyHelloService.java} (54%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WssSecurityPolicyHelloServiceImpl.java
 copy integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/{application.properties => alice.properties} (75%)
 copy integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/{application.properties => bob.properties} (75%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/encrypt-sign-policy.xml
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/CxfWssSecurityPolicyServerCxfWayIT.java} (51%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/CxfWssSecurityPolicyServerCxfWayTest.java
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerIT.java} (51%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java
 copy integration-test-groups/cxf-soap/{cxf-soap-ws-security-server => cxf-soap-ws-trust}/pom.xml (82%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/common/PasswordCallbackHandler.java
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/ServerCallbackHandler.java} (51%)
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/StsLoggingFeature.java} (51%)
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/TrustHelloService.java} (54%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/WsTrustServerRoutes.java
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/TrustHelloServiceCxfWay.java} (54%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/TrustHelloServiceCxfWayImpl.java
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/WsTrustServerRoutesCxfWay.java} (51%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/SampleSTS.java
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/StsCallbackHandler.java} (51%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/AsymmetricSAML2Policy.xml
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/Input_Policy.xml
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/Output_Policy.xml
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/TrustHelloService.wsdl
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/TrustHelloService_schema1.xsd
 copy integration-test-groups/cxf-soap/{cxf-soap-ws-security-server => cxf-soap-ws-trust}/src/main/resources/application.properties (64%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/serviceKeystore.properties
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/servicestore.jks
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/stsKeystore.properties
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/stsstore.jks
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/ws-trust-1.4-service.wsdl
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/ClientCallbackHandler.java
 copy integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustIT.java} (51%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java
 rename integration-test-groups/cxf-soap/{cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java => cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/cxf/way/CxfWsTrustCxfWayIT.java} (51%)
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/cxf/way/CxfWsTrustCxfWayTest.java
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/resources/clientKeystore.properties
 create mode 100644 integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/resources/clientstore.jks


[camel-quarkus] 01/08: Add CXF WS-SecurityPolicy test

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

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 7be866099cd584e6f807e6f3eb5024f1c95ef57a
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Fri Oct 28 22:41:15 2022 +0200

    Add CXF WS-SecurityPolicy test
---
 .../cxf-soap/cxf-soap-ws-security-server/pom.xml   | 229 +++++++++++++++++++++
 .../server/it/PasswordCallbackHandler.java         |  55 +++++
 .../server/it/WsSecurityPolicyServerRoutes.java    |  54 +++++
 .../server/it/WssSecurityPolicyHelloService.java   |  27 +++
 .../it/WssSecurityPolicyHelloServiceImpl.java      |  39 ++++
 .../{application.properties => alice.properties}   |   7 +-
 .../src/main/resources/application.properties      |   2 +
 .../{application.properties => bob.properties}     |   7 +-
 .../src/main/resources/encrypt-sign-policy.xml     |  75 +++++++
 .../server/it/CxfWssSecurityPolicyServerIT.java    |  24 +++
 .../server/it/CxfWssSecurityPolicyServerTest.java  | 214 +++++++++++++++++++
 pom.xml                                            |   1 +
 poms/build-parent-it/pom.xml                       |   5 +
 13 files changed, 735 insertions(+), 4 deletions(-)

diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/pom.xml b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/pom.xml
index defb469cf3..72dfc1f8d0 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/pom.xml
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/pom.xml
@@ -67,6 +67,235 @@
         </dependency>
     </dependencies>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>keytool-maven-plugin</artifactId>
+                <configuration>
+                    <keypass>password</keypass>
+                    <validity>365</validity>
+                    <keyalg>RSA</keyalg>
+                    <storepass>password</storepass>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>generate-cxfca-keypair</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>clean</goal>
+                            <goal>generateKeyPair</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <dname>CN=cxfca, OU=eng, O=apache.org</dname>
+                            <exts>
+                                <ext>bc:c=ca:true,pathlen:2147483647</ext>
+                                <ext>IssuerAlternativeName=DNS:NOT-FOR-PRODUCTION-USE</ext>
+                            </exts>
+                            <keystore>${project.build.outputDirectory}/cxfca.jks</keystore>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>export-cxfca-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>exportCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <keystore>${project.build.outputDirectory}/cxfca.jks</keystore>
+                            <rfc>true</rfc>
+                            <file>${project.build.outputDirectory}/cxfca.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-alice-keypair</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>clean</goal>
+                            <goal>generateKeyPair</goal>
+                        </goals>
+                        <configuration>
+                            <alias>alice</alias>
+                            <dname>CN=alice, OU=eng, O=apache.org</dname>
+                            <exts>
+                                <ext>IssuerAlternativeName=DNS:NOT-FOR-PRODUCTION-USE</ext>
+                                <ext>SubjectAlternativeName=DNS:localhost,IP:127.0.0.1</ext>
+                            </exts>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-bob-keypair</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>clean</goal>
+                            <goal>generateKeyPair</goal>
+                        </goals>
+                        <configuration>
+                            <alias>bob</alias>
+                            <dname>CN=bob, OU=eng, O=apache.org</dname>
+                            <exts>
+                                <ext>IssuerAlternativeName=DNS:NOT-FOR-PRODUCTION-USE</ext>
+                                <ext>SubjectAlternativeName=DNS:localhost,IP:127.0.0.1</ext>
+                            </exts>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-alice-certificate-request</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>generateCertificateRequest</goal>
+                        </goals>
+                        <configuration>
+                            <alias>alice</alias>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                            <file>${project.build.outputDirectory}/alice.csr</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-alice-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>generateCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <keystore>${project.build.outputDirectory}/cxfca.jks</keystore>
+                            <rfc>true</rfc>
+                            <infile>${project.build.outputDirectory}/alice.csr</infile>
+                            <outfile>${project.build.outputDirectory}/alice.pem</outfile>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-bob-certificate-request</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>generateCertificateRequest</goal>
+                        </goals>
+                        <configuration>
+                            <alias>bob</alias>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                            <file>${project.build.outputDirectory}/bob.csr</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-bob-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>generateCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <keystore>${project.build.outputDirectory}/cxfca.jks</keystore>
+                            <rfc>true</rfc>
+                            <infile>${project.build.outputDirectory}/bob.csr</infile>
+                            <outfile>${project.build.outputDirectory}/bob.pem</outfile>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-cxfca-certificate-to-alice</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                            <file>${project.build.outputDirectory}/cxfca.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-cxfca-certificate-to-bob</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                            <file>${project.build.outputDirectory}/cxfca.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-alice-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>alice</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                            <file>${project.build.outputDirectory}/alice.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-bob-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>bob</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                            <file>${project.build.outputDirectory}/bob.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-bob-certificate-to-alice</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>bob</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                            <file>${project.build.outputDirectory}/bob.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-alice-certificate-to-bob</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>alice</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                            <file>${project.build.outputDirectory}/alice.pem</file>
+                        </configuration>
+                    </execution>
+<!--                Uncomment execution block below for local testing -->
+<!--                    <execution>-->
+<!--                        <id>list</id>-->
+<!--                        <phase>generate-sources</phase>-->
+<!--                        <goals>-->
+<!--                            <goal>list</goal>-->
+<!--                        </goals>-->
+<!--                        <configuration>-->
+<!--                            <verbose>true</verbose>-->
+<!--                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>-->
+<!--                        </configuration>-->
+<!--                    </execution>-->
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
     <profiles>
         <profile>
             <id>native</id>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/PasswordCallbackHandler.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/PasswordCallbackHandler.java
new file mode 100644
index 0000000000..73f713a064
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/PasswordCallbackHandler.java
@@ -0,0 +1,55 @@
+/*
+ * 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.securitypolicy.server.it;
+
+import java.io.IOException;
+import java.util.Map;
+
+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.apache.wss4j.common.ext.WSPasswordCallback;
+
+@RegisterForReflection(methods = false, fields = false)
+public class PasswordCallbackHandler implements CallbackHandler {
+
+    private final Map<String, String> passwords;
+
+    public PasswordCallbackHandler() {
+        this.passwords = Map.of(
+                "alice", "password",
+                "bob", "password");
+    }
+
+    /**
+     * It attempts to get the password from the private alias/passwords map.
+     */
+    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+        for (int i = 0; i < callbacks.length; i++) {
+            WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
+
+            String pass = passwords.get(pc.getIdentifier());
+            if (pass != null) {
+                pc.setPassword(pass);
+                return;
+            }
+        }
+    }
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WsSecurityPolicyServerRoutes.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WsSecurityPolicyServerRoutes.java
new file mode 100644
index 0000000000..f130f41a63
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WsSecurityPolicyServerRoutes.java
@@ -0,0 +1,54 @@
+/*
+ * 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.securitypolicy.server.it;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.cxf.jaxws.CxfEndpoint;
+import org.apache.cxf.ext.logging.LoggingFeature;
+
+@ApplicationScoped
+public class WsSecurityPolicyServerRoutes extends RouteBuilder {
+
+    @Override
+    public void configure() {
+
+        from("cxf:bean:wsSecurityPolicyHelloService?dataFormat=POJO")
+                .log("exchange: ${exchange}")
+                .setBody(exchange -> "Secure good morning " + exchange.getMessage().getBody(String.class));
+
+    }
+
+    @Produces
+    @ApplicationScoped
+    @Named
+    CxfEndpoint wsSecurityPolicyHelloService() {
+        final CxfEndpoint result = new CxfEndpoint();
+        result.setServiceClass(WssSecurityPolicyHelloServiceImpl.class);
+        result.setAddress("/security-policy-hello");
+
+        final LoggingFeature lf = new LoggingFeature();
+        lf.setPrettyLogging(true);
+        result.getFeatures().add(lf);
+
+        return result;
+    }
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WssSecurityPolicyHelloService.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WssSecurityPolicyHelloService.java
new file mode 100644
index 0000000000..29f2595678
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WssSecurityPolicyHelloService.java
@@ -0,0 +1,27 @@
+/*
+ * 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.securitypolicy.server.it;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+@WebService(targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/ws-securitypolicy")
+public interface WssSecurityPolicyHelloService {
+
+    @WebMethod
+    String sayHello(String name);
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WssSecurityPolicyHelloServiceImpl.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WssSecurityPolicyHelloServiceImpl.java
new file mode 100644
index 0000000000..632d27451e
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/WssSecurityPolicyHelloServiceImpl.java
@@ -0,0 +1,39 @@
+/*
+ * 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.securitypolicy.server.it;
+
+import javax.jws.WebService;
+
+import org.apache.cxf.annotations.EndpointProperties;
+import org.apache.cxf.annotations.EndpointProperty;
+import org.apache.cxf.annotations.Policy;
+
+@WebService(portName = "EncryptSecurityServicePort", serviceName = "WssSecurityPolicyHelloService", targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/ws-securitypolicy", endpointInterface = "org.apache.camel.quarkus.component.cxf.soap.securitypolicy.server.it.WssSecurityPolicyHelloService")
+@Policy(placement = Policy.Placement.BINDING, uri = "encrypt-sign-policy.xml")
+@EndpointProperties(value = {
+        @EndpointProperty(key = "ws-security.signature.properties", value = "bob.properties"),
+        @EndpointProperty(key = "ws-security.encryption.properties", value = "bob.properties"),
+        @EndpointProperty(key = "ws-security.signature.username", value = "bob"),
+        @EndpointProperty(key = "ws-security.encryption.username", value = "alice"),
+        @EndpointProperty(key = "ws-security.callback-handler", value = "org.apache.camel.quarkus.component.cxf.soap.securitypolicy.server.it.PasswordCallbackHandler")
+})
+public class WssSecurityPolicyHelloServiceImpl implements WssSecurityPolicyHelloService {
+
+    public String sayHello(String name) {
+        return "Secure Hello " + name + "!";
+    }
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/alice.properties
similarity index 75%
copy from integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
copy to integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/alice.properties
index 2eaadf41fb..b562e89eec 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/alice.properties
@@ -14,5 +14,8 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
-
-quarkus.cxf.path=/soapservice
+org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
+org.apache.ws.security.crypto.merlin.keystore.type=jks
+org.apache.ws.security.crypto.merlin.keystore.password=password
+org.apache.ws.security.crypto.merlin.keystore.alias=alice
+org.apache.ws.security.crypto.merlin.file=alice.jks
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
index 2eaadf41fb..7ca94be086 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
@@ -16,3 +16,5 @@
 ## ---------------------------------------------------------------------------
 
 quarkus.cxf.path=/soapservice
+
+quarkus.native.resources.includes=bob.properties,alice.properties,alice.jks,bob.jks,encrypt-sign-policy.xml
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/bob.properties
similarity index 75%
copy from integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
copy to integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/bob.properties
index 2eaadf41fb..4b4e1bd8a5 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/bob.properties
@@ -14,5 +14,8 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
-
-quarkus.cxf.path=/soapservice
+org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
+org.apache.ws.security.crypto.merlin.keystore.type=jks
+org.apache.ws.security.crypto.merlin.keystore.password=password
+org.apache.ws.security.crypto.merlin.keystore.alias=bob
+org.apache.ws.security.crypto.merlin.file=bob.jks
\ No newline at end of file
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/encrypt-sign-policy.xml b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/encrypt-sign-policy.xml
new file mode 100644
index 0000000000..2eba7ca542
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/encrypt-sign-policy.xml
@@ -0,0 +1,75 @@
+<?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.
+
+-->
+<wsp:Policy wsu:Id="SecurityServiceEncryptThenSignPolicy"
+    xmlns:wsp="http://www.w3.org/ns/ws-policy"
+    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+    xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:AsymmetricBinding xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+                <wsp:Policy>
+                    <sp:InitiatorToken>
+                        <wsp:Policy>
+                            <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                                <wsp:Policy>
+                                    <sp:WssX509V1Token11/>
+                                </wsp:Policy>
+                            </sp:X509Token>
+                        </wsp:Policy>
+                    </sp:InitiatorToken>
+                    <sp:RecipientToken>
+                        <wsp:Policy>
+                            <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                <wsp:Policy>
+                                    <sp:WssX509V1Token11/>
+                                </wsp:Policy>
+                            </sp:X509Token>
+                        </wsp:Policy>
+                    </sp:RecipientToken>
+                    <sp:AlgorithmSuite>
+                        <wsp:Policy>
+                            <sp:Basic256/>
+                        </wsp:Policy>
+                    </sp:AlgorithmSuite>
+                    <sp:Layout>
+                        <wsp:Policy>
+                            <sp:Strict/>
+                        </wsp:Policy>
+                    </sp:Layout>
+                    <sp:IncludeTimestamp/>
+                    <sp:ProtectTokens/>
+                    <sp:OnlySignEntireHeadersAndBody/>
+                    <sp:EncryptBeforeSigning/>
+                </wsp:Policy>
+            </sp:AsymmetricBinding>
+            <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <sp:Body/>
+            </sp:SignedParts>
+            <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <sp:Body/>
+            </sp:EncryptedParts>
+            <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <wsp:Policy>
+                    <sp:MustSupportRefIssuerSerial/>
+                </wsp:Policy>
+            </sp:Wss10>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerIT.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerIT.java
new file mode 100644
index 0000000000..64e2996405
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerIT.java
@@ -0,0 +1,24 @@
+/*
+ * 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.securitypolicy.server.it;
+
+import io.quarkus.test.junit.QuarkusIntegrationTest;
+
+@QuarkusIntegrationTest
+public class CxfWssSecurityPolicyServerIT extends CxfWssSecurityPolicyServerTest {
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java
new file mode 100644
index 0000000000..7a0fd487bb
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java
@@ -0,0 +1,214 @@
+/*
+ * 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.securitypolicy.server.it;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.xml.ws.BindingProvider;
+
+import io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil;
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import io.restassured.config.RestAssuredConfig;
+import org.apache.cxf.ws.security.SecurityConstants;
+import org.assertj.core.api.Assertions;
+import org.hamcrest.CoreMatchers;
+import org.hamcrest.Matchers;
+import org.junit.jupiter.api.Test;
+
+import static io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.anyNs;
+import static io.restassured.RestAssured.given;
+
+@QuarkusTest
+public class CxfWssSecurityPolicyServerTest {
+
+    @Test
+    void encrypetdSigned() throws IOException {
+        WssSecurityPolicyHelloService client = getPlainClient();
+
+        Map<String, Object> ctx = ((BindingProvider) client).getRequestContext();
+        ctx.put(SecurityConstants.CALLBACK_HANDLER, new PasswordCallbackHandler());
+        ctx.put(SecurityConstants.SIGNATURE_PROPERTIES,
+                Thread.currentThread().getContextClassLoader().getResource("alice.properties"));
+        ctx.put(SecurityConstants.SIGNATURE_USERNAME, "alice");
+        ctx.put(SecurityConstants.ENCRYPT_USERNAME, "bob");
+        ctx.put(SecurityConstants.ENCRYPT_PROPERTIES,
+                Thread.currentThread().getContextClassLoader().getResource("alice.properties"));
+
+        Assertions.assertThat(client.sayHello("foo")).isEqualTo("Secure Hello foo!");
+    }
+
+    @Test
+    void noSecurityConfig() throws IOException {
+        WssSecurityPolicyHelloService client = getPlainClient();
+        /* Make sure that it fails properly when called without a password */
+        Assertions.assertThatExceptionOfType(javax.xml.ws.soap.SOAPFaultException.class)
+                .isThrownBy(() -> client.sayHello("bar"))
+                .withMessage(
+                        "A encryption username needs to be declared.");
+    }
+
+    @Test
+    void unencryptedUnsigned() throws IOException {
+        final String SOAP_REQUEST = "<soap:Envelope\n"
+                + "        xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
+                + "        <soap:Header/>\n"
+                + "        <soap:Body>\n"
+                + "                <ns2:sayHello\n"
+                + "                        xmlns:ns2=\"https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/ws-securitypolicy\"/>\n"
+                + "        </soap:Body>\n"
+                + "</soap:Envelope>";
+
+        given()
+                .body(SOAP_REQUEST)
+                .when().post(QuarkusCxfClientTestUtil.getEndpointUrl(getPlainClient()))
+                .then()
+                .statusCode(500)
+                .body(
+                        Matchers.containsString(
+                                "X509Token: The received token does not match the token inclusion requirement"),
+                        Matchers.containsString("Soap Body is not SIGNED"),
+                        Matchers.containsString("Soap Body is not ENCRYPTED"));
+    }
+
+    @Test
+    void fakeSigned() throws IOException {
+        /*
+         * A syntactically correct signature, however signed with a different certificate with a different CA than
+         * deployed on the server
+         */
+        final String SOAP_REQUEST = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+                + "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
+                + "   <soap:Header>\n"
+                + "      <wsse:Security xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" soap:mustUnderstand=\"1\">\n"
+                + "         <wsse:BinarySecurityToken EncodingType=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary\" ValueType=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3\" wsu:Id=\"X509-53f34474-bcdf-424c-bb90-61b11537cb3f\">MIICnjCCAgmgAwIBAgIEAvQDETALBgkqhkiG9w0BAQUwMzETMBEGA1UEChMKYXBhY2hlLm9yZzEMMAoGA1UECxMDZW5nMQ4wDAYDVQQDEwVjeGZjYTAiGA8yMDIyMDkxOTEyMDA0NFoYDzk5OTkxMjMxMjM1OTU5WjAzMRMwEQYDV [...]
+                + "         <wsu:Timestamp wsu:Id=\"TS-ccfad22e-b376-4349-a625-8896061d6cfd\">\n"
+                + "            <wsu:Created>2022-09-19T12:00:51.226Z</wsu:Created>\n"
+                + "            <wsu:Expires>2022-09-19T12:05:51.226Z</wsu:Expires>\n"
+                + "         </wsu:Timestamp>\n"
+                + "         <xenc:EncryptedKey xmlns:xenc=\"http://www.w3.org/2001/04/xmlenc#\" Id=\"EK-d77a377b-2dab-4045-ac3e-ea53d7609158\">\n"
+                + "            <xenc:EncryptionMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p\" />\n"
+                + "            <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n"
+                + "               <wsse:SecurityTokenReference>\n"
+                + "                  <ds:X509Data>\n"
+                + "                     <ds:X509IssuerSerial>\n"
+                + "                        <ds:X509IssuerName>CN=cxfca,OU=eng,O=apache.org</ds:X509IssuerName>\n"
+                + "                        <ds:X509SerialNumber>49546002</ds:X509SerialNumber>\n"
+                + "                     </ds:X509IssuerSerial>\n"
+                + "                  </ds:X509Data>\n"
+                + "               </wsse:SecurityTokenReference>\n"
+                + "            </ds:KeyInfo>\n"
+                + "            <xenc:CipherData>\n"
+                + "               <xenc:CipherValue>AaHIPkC7xEAxE1WS8u1lwEp8+VVAFhg61EqUyKAxi4jUPRdYXwa1J7jWQ28Z86preNMLJ7CUfv1stESHCziuZtjoundejV588aN7bymBYwN24zu2LRgUQ49PjADInrMX39gqwv9EtgixEUCwkaCS48/ihY7v7Vb7+cXnrpqAcVrxqF8Y0g2/FfN/k/6IZASGORzHKXcszQM9y+QyDzKZvw9ukSj7oDDBNUhrtrhb2KslOC5UukhSkPQwxrIHAlGCmbTDiohhYjEJCzBE9bb1/+0//7vFx/kPuhr8cRI7wg7WAhl8MIUHvv40TD8FoCo8JH1IJSPfuTs+fcLUSSRMBg==</xenc:CipherValue>\n"
+                + "            </xenc:CipherData>\n"
+                + "         </xenc:EncryptedKey>\n"
+                + "         <ds:Signature xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" Id=\"SIG-d48e583c-d310-428b-9541-1c589934b261\">\n"
+                + "            <ds:SignedInfo>\n"
+                + "               <ds:CanonicalizationMethod Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\">\n"
+                + "                  <ec:InclusiveNamespaces xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\" PrefixList=\"soap\" />\n"
+                + "               </ds:CanonicalizationMethod>\n"
+                + "               <ds:SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\" />\n"
+                + "               <ds:Reference URI=\"#TS-ccfad22e-b376-4349-a625-8896061d6cfd\">\n"
+                + "                  <ds:Transforms>\n"
+                + "                     <ds:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\">\n"
+                + "                        <ec:InclusiveNamespaces xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\" PrefixList=\"wsse soap\" />\n"
+                + "                     </ds:Transform>\n"
+                + "                  </ds:Transforms>\n"
+                + "                  <ds:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" />\n"
+                + "                  <ds:DigestValue>pdXC+DtlPCX25Cb1NipeNUOCwl4=</ds:DigestValue>\n"
+                + "               </ds:Reference>\n"
+                + "               <ds:Reference URI=\"#_551cb542-d0fe-4fb8-8e11-e0d7dfe47210\">\n"
+                + "                  <ds:Transforms>\n"
+                + "                     <ds:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\" />\n"
+                + "                  </ds:Transforms>\n"
+                + "                  <ds:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" />\n"
+                + "                  <ds:DigestValue>LcxYrZK9si3cDmaUurS3dXHKWEI=</ds:DigestValue>\n"
+                + "               </ds:Reference>\n"
+                + "               <ds:Reference URI=\"#X509-53f34474-bcdf-424c-bb90-61b11537cb3f\">\n"
+                + "                  <ds:Transforms>\n"
+                + "                     <ds:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\">\n"
+                + "                        <ec:InclusiveNamespaces xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\" PrefixList=\"soap\" />\n"
+                + "                     </ds:Transform>\n"
+                + "                  </ds:Transforms>\n"
+                + "                  <ds:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" />\n"
+                + "                  <ds:DigestValue>vDSN64D/q4EjUCBczlIA0IHzxLc=</ds:DigestValue>\n"
+                + "               </ds:Reference>\n"
+                + "            </ds:SignedInfo>\n"
+                + "            <ds:SignatureValue>d2qb4hRGLF/IOJHDA+hiMpil3hEArczDMEq2Q8bzKy74BbAWu54D2d3JWfMceq3/zHNvG4ND7zOd/0o2TPV05i9k5wVya+FOwlP7ibQ/Yy9lkTNhRMHCL94Es63i7AKPwTcTiGJtYQERcUcp4kXaE/fuRlpD4tv2IfnR+ss1jraOqEtgci//xpjWVUBV4vN5Rpolc10QOYUQGjG/ZqaOgT9QHEnm/WN2ZcFMwOrVlc066ifbbHVnJfS/A+VSjoP2FEnNcmRcG8RrNZc4/LOMVCiCnaldriqTrjtCnF29s0Kwtv00P931Yjb4vPFeLIdw6C+zL8/A3q+TOQ4mH9B4MQ==</ds:SignatureValue>\n"
+                + "            <ds:KeyInfo Id=\"KI-2bd212e6-4be5-4d39-b69f-b147f6a540fd\">\n"
+                + "               <wsse:SecurityTokenReference wsu:Id=\"STR-4e477765-3f65-4910-93be-9e1fe3d129a0\">\n"
+                + "                  <wsse:Reference URI=\"#X509-53f34474-bcdf-424c-bb90-61b11537cb3f\" ValueType=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3\" />\n"
+                + "               </wsse:SecurityTokenReference>\n"
+                + "            </ds:KeyInfo>\n"
+                + "         </ds:Signature>\n"
+                + "         <xenc:ReferenceList xmlns:xenc=\"http://www.w3.org/2001/04/xmlenc#\">\n"
+                + "            <xenc:DataReference URI=\"#ED-ed7e9c30-7b36-452d-ac71-85fa51c60986\" />\n"
+                + "         </xenc:ReferenceList>\n"
+                + "      </wsse:Security>\n"
+                + "   </soap:Header>\n"
+                + "   <soap:Body xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" wsu:Id=\"_551cb542-d0fe-4fb8-8e11-e0d7dfe47210\">\n"
+                + "      <xenc:EncryptedData xmlns:xenc=\"http://www.w3.org/2001/04/xmlenc#\" Id=\"ED-ed7e9c30-7b36-452d-ac71-85fa51c60986\" Type=\"http://www.w3.org/2001/04/xmlenc#Content\">\n"
+                + "         <xenc:EncryptionMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#aes256-cbc\" />\n"
+                + "         <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n"
+                + "            <wsse:SecurityTokenReference xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" xmlns:wsse11=\"http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd\" wsse11:TokenType=\"http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey\">\n"
+                + "               <wsse:Reference URI=\"#EK-d77a377b-2dab-4045-ac3e-ea53d7609158\" />\n"
+                + "            </wsse:SecurityTokenReference>\n"
+                + "         </ds:KeyInfo>\n"
+                + "         <xenc:CipherData>\n"
+                + "            <xenc:CipherValue>21+PWStmrSWFm9QgE0A6hGMEsTAoKFmhLzX2w7MY2B8KCQNeke5eEW7IBXPQySCNgPw7q1+LmOajM/2AmLsKp2q5ZOXxtOStEkJLxbZ4LCsKtv5rfFiWGTl8d7OS8hHGZLVl1wfEG0n/k7FqCw9WRuKfZFqIsQA06yfQPELVU1hUh1K/vEPGGFol4oa1wzVi</xenc:CipherValue>\n"
+                + "         </xenc:CipherData>\n"
+                + "      </xenc:EncryptedData>\n"
+                + "   </soap:Body>\n"
+                + "</soap:Envelope>";
+
+        given()
+                .body(SOAP_REQUEST)
+                .when().post(QuarkusCxfClientTestUtil.getEndpointUrl(getPlainClient()))
+                .then()
+                .statusCode(500)
+                .body(
+                        Matchers.containsString(
+                                "A security error was encountered when verifying the message"));
+    }
+
+    /**
+     * Make sure the policy was included
+     */
+    @Test
+    void wsdl() {
+        RestAssuredConfig config = RestAssured.config();
+        config.getXmlConfig().namespaceAware(false);
+        given()
+                .config(config)
+                .when().get(QuarkusCxfClientTestUtil.getEndpointUrl(getPlainClient()) + "?wsdl")
+                .then()
+                .statusCode(200)
+                .body(
+                        Matchers.hasXPath(
+                                anyNs("definitions", "Policy")
+                                        + "/@*[local-name() = 'Id']",
+                                CoreMatchers.is("SecurityServiceEncryptThenSignPolicy")));
+    }
+
+    WssSecurityPolicyHelloService getPlainClient() {
+        return QuarkusCxfClientTestUtil.getClient(
+                "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/ws-securitypolicy",
+                WssSecurityPolicyHelloService.class,
+                "/soapservice/security-policy-hello");
+    }
+}
diff --git a/pom.xml b/pom.xml
index de80f9d7ad..519557394b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -181,6 +181,7 @@
         <groovy.version>3.0.8</groovy.version>
         <impsort-maven-plugin.version>1.7.0</impsort-maven-plugin.version>
         <jandex-maven-plugin.version>1.0.8</jandex-maven-plugin.version>
+        <keytool-maven-plugin.version>1.6</keytool-maven-plugin.version>
         <mycila-license.version>3.0</mycila-license.version>
         <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version>
         <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
diff --git a/poms/build-parent-it/pom.xml b/poms/build-parent-it/pom.xml
index 4d73bb122e..0927ca520e 100644
--- a/poms/build-parent-it/pom.xml
+++ b/poms/build-parent-it/pom.xml
@@ -107,6 +107,11 @@
                     <artifactId>camel-servicenow-maven-plugin</artifactId>
                     <version>${camel.version}</version>
                 </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>keytool-maven-plugin</artifactId>
+                    <version>${keytool-maven-plugin.version}</version>
+                </plugin>
             </plugins>
         </pluginManagement>
         <plugins>


[camel-quarkus] 06/08: Reformat poms by running mvn process-resources -Pformat -N

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

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit ae28a80c8289ea7a368a22e9630e8403133a5d08
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Tue Nov 22 18:09:04 2022 +0100

    Reformat poms by running mvn process-resources -Pformat -N
---
 .../cxf-soap/cxf-soap-mtom-awt/pom.xml             |  2 +-
 .../cxf-soap/cxf-soap-mtom/pom.xml                 |  2 +-
 integration-tests/debezium/pom.xml                 | 26 ---------------
 integration-tests/xml/pom.xml                      | 39 ++++++++++++++++++++++
 4 files changed, 41 insertions(+), 28 deletions(-)

diff --git a/integration-test-groups/cxf-soap/cxf-soap-mtom-awt/pom.xml b/integration-test-groups/cxf-soap/cxf-soap-mtom-awt/pom.xml
index 7fd531298d..dff19abf76 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-mtom-awt/pom.xml
+++ b/integration-test-groups/cxf-soap/cxf-soap-mtom-awt/pom.xml
@@ -105,7 +105,7 @@
                 <!-- 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-bean</artifactId>
+                    <artifactId>camel-quarkus-bean-deployment</artifactId>
                     <version>${project.version}</version>
                     <type>pom</type>
                     <scope>test</scope>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-mtom/pom.xml b/integration-test-groups/cxf-soap/cxf-soap-mtom/pom.xml
index b5b4ec8db0..2ea2ba1d02 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-mtom/pom.xml
+++ b/integration-test-groups/cxf-soap/cxf-soap-mtom/pom.xml
@@ -101,7 +101,7 @@
                 <!-- 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-bean</artifactId>
+                    <artifactId>camel-quarkus-bean-deployment</artifactId>
                     <version>${project.version}</version>
                     <type>pom</type>
                     <scope>test</scope>
diff --git a/integration-tests/debezium/pom.xml b/integration-tests/debezium/pom.xml
index 62a8f32278..33889667ec 100644
--- a/integration-tests/debezium/pom.xml
+++ b/integration-tests/debezium/pom.xml
@@ -206,19 +206,6 @@
                         </exclusion>
                     </exclusions>
                 </dependency>
-                <dependency>
-                    <groupId>org.apache.camel.quarkus</groupId>
-                    <artifactId>camel-quarkus-debezium-mysql-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-debezium-postgres-deployment</artifactId>
@@ -232,19 +219,6 @@
                         </exclusion>
                     </exclusions>
                 </dependency>
-                <dependency>
-                    <groupId>org.apache.camel.quarkus</groupId>
-                    <artifactId>camel-quarkus-debezium-sqlserver-deployment</artifactId>
-                    <version>${project.version}</version>
-                    <type>pom</type>
-                    <scope>test</scope>
-                    <exclusions>
-                        <exclusion>
-                            <groupId>*</groupId>
-                            <artifactId>*</artifactId>
-                        </exclusion>
-                    </exclusions>
-                </dependency>
             </dependencies>
         </profile>
         <profile>
diff --git a/integration-tests/xml/pom.xml b/integration-tests/xml/pom.xml
index 656a099c3d..514ed15ce1 100644
--- a/integration-tests/xml/pom.xml
+++ b/integration-tests/xml/pom.xml
@@ -132,6 +132,19 @@
             </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-bean-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>
@@ -145,6 +158,19 @@
                         </exclusion>
                     </exclusions>
                 </dependency>
+                <dependency>
+                    <groupId>org.apache.camel.quarkus</groupId>
+                    <artifactId>camel-quarkus-mock-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-seda-deployment</artifactId>
@@ -210,6 +236,19 @@
                         </exclusion>
                     </exclusions>
                 </dependency>
+                <dependency>
+                    <groupId>org.apache.camel.quarkus</groupId>
+                    <artifactId>camel-quarkus-xslt-saxon-deployment</artifactId>
+                    <version>${project.version}</version>
+                    <type>pom</type>
+                    <scope>test</scope>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>*</groupId>
+                            <artifactId>*</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
             </dependencies>
         </profile>
     </profiles>


[camel-quarkus] 05/08: Upgrade to Quarkiverse CXF 1.5.7

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

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 00be7e87f27d412b8f2f67486a24bb4fa8c57edf
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Fri Nov 25 23:52:01 2022 +0100

    Upgrade to Quarkiverse CXF 1.5.7
---
 pom.xml                                            |   2 +-
 poms/bom/src/main/generated/flattened-full-pom.xml | 452 ++++++++++-----------
 .../src/main/generated/flattened-reduced-pom.xml   |  38 +-
 .../generated/flattened-reduced-verbose-pom.xml    | 452 ++++++++++-----------
 4 files changed, 472 insertions(+), 472 deletions(-)

diff --git a/pom.xml b/pom.xml
index 519557394b..aa440d36d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,7 @@
         <optaplanner.version>8.29.0.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.3.1</quarkiverse-amazonservices.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/amazonservices/quarkus-amazon-services-parent/ -->
         <quarkiverse-artemis.version>2.0.1</quarkiverse-artemis.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/artemis/quarkus-artemis-parent/ -->
-        <quarkiverse-cxf.version>1.5.6</quarkiverse-cxf.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/cxf/quarkus-cxf-parent/ -->
+        <quarkiverse-cxf.version>1.5.7</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.2.0</quarkiverse-jgit.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/jgit/quarkus-jgit-parent/ -->
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml b/poms/bom/src/main/generated/flattened-full-pom.xml
index de24897ade..ab60415df7 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -10452,434 +10452,434 @@
         <version>2.12.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-features-logging</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-features-logging</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-features-metrics</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-features-metrics</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-frontend-jaxws</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-frontend-jaxws</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.glassfish.jaxb</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jaxb-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.glassfish.jaxb</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jaxb-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-transports-http</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-transports-http</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-transports-http-hc5</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-transports-http-hc5</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.slf4j</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jcl-over-slf4j</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.slf4j</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jcl-over-slf4j</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-ws-mex</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-ws-mex</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-ws-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-ws-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-ws-rm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-ws-rm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf.services.sts</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-services-sts-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf.services.sts</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-services-sts-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.springframework</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>*</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.springframework</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>*</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf.xjc-utils</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-xjc-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.3.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf.xjc-utils</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-xjc-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.3.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-features-logging</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-features-logging</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-features-logging-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-features-logging-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-features-metrics</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-features-metrics</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-features-metrics-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-features-metrics-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-transports-http-hc5</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-transports-http-hc5</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-transports-http-hc5-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-transports-http-hc5-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-ws-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-ws-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-ws-security-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-ws-security-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-ws-rm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-ws-rm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-ws-rm-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-ws-rm-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-saaj</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-saaj</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-saaj-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-saaj-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-services-sts</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-services-sts</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-services-sts-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-services-sts-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-woodstox</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-woodstox</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-woodstox-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-woodstox-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>com.fasterxml.woodstox</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>woodstox-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>6.4.0</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>com.fasterxml.woodstox</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>woodstox-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>6.4.0</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>com.sun.xml.messaging.saaj</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>saaj-impl</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>com.sun.xml.messaging.saaj</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>saaj-impl</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.neethi</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>neethi</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.2.0</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.neethi</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>neethi</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.2.0</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.ehcache</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>ehcache</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.10.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.ehcache</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>ehcache</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.10.8</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>org.glassfish.jaxb</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jaxb-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.glassfish.jaxb</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jaxb-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.jvnet.mimepull</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>mimepull</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.9.14</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.jvnet.mimepull</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>mimepull</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.9.14</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.santuario</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>xmlsec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>2.3.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.santuario</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>xmlsec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>2.3.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.xmlsec</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-xmlsec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.1.1</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.xmlsec</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-xmlsec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.1.1</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.xmlsec</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-xmlsec-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.1.1</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.xmlsec</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-xmlsec-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.1.1</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-bindings-soap</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-bindings-soap</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-bindings-xml</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-bindings-xml</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-databinding-jaxb</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-databinding-jaxb</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-frontend-simple</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-frontend-simple</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-management</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-management</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-rs-json-basic</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-rs-json-basic</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-rs-security-jose</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-rs-security-jose</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-security-saml</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-security-saml</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-wsdl</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-wsdl</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-ws-addr</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-ws-addr</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
         <groupId>org.codehaus.groovy</groupId><!-- org.codehaus.groovy:groovy-bom:3.0.8 -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index 1c784f68e4..d6d75ed24d 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -10668,92 +10668,92 @@
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-deployment</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-features-logging</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-features-logging-deployment</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-features-metrics</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-features-metrics-deployment</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-transports-http-hc5</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-transports-http-hc5-deployment</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-ws-security</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-ws-security-deployment</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-ws-rm</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-rt-ws-rm-deployment</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-saaj</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-saaj-deployment</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-services-sts</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-services-sts-deployment</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-woodstox</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>io.quarkiverse.cxf</groupId>
         <artifactId>quarkus-cxf-woodstox-deployment</artifactId>
-        <version>1.5.6</version>
+        <version>1.5.7</version>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.woodstox</groupId>
@@ -10773,7 +10773,7 @@
       <dependency>
         <groupId>org.ehcache</groupId>
         <artifactId>ehcache</artifactId>
-        <version>3.10.2</version>
+        <version>3.10.8</version>
         <exclusions>
           <exclusion>
             <groupId>org.glassfish.jaxb</groupId>
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 48ae8966e5..cc692007a4 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -10437,434 +10437,434 @@
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-features-logging</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-features-logging</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-features-metrics</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-features-metrics</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-frontend-jaxws</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-frontend-jaxws</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.glassfish.jaxb</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jaxb-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.glassfish.jaxb</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jaxb-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-transports-http</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-transports-http</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-transports-http-hc5</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-transports-http-hc5</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.slf4j</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jcl-over-slf4j</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.slf4j</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jcl-over-slf4j</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-ws-mex</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-ws-mex</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-ws-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-ws-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-ws-rm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-ws-rm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.ow2.asm</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>asm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf.services.sts</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-services-sts-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf.services.sts</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-services-sts-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.apache.geronimo.specs</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>geronimo-jta_1.1_spec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>org.springframework</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>*</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.springframework</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>*</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf.xjc-utils</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-xjc-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.3.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf.xjc-utils</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-xjc-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.3.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-features-logging</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-features-logging</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-features-logging-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-features-logging-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-features-metrics</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-features-metrics</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-features-metrics-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-features-metrics-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-transports-http-hc5</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-transports-http-hc5</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-transports-http-hc5-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-transports-http-hc5-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-ws-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-ws-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-ws-security-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-ws-security-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-ws-rm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-ws-rm</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-rt-ws-rm-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-rt-ws-rm-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-saaj</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-saaj</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-saaj-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-saaj-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-services-sts</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-services-sts</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-services-sts-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-services-sts-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-woodstox</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-woodstox</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-cxf-woodstox-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.6</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-cxf-woodstox-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.7</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>com.fasterxml.woodstox</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>woodstox-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>6.4.0</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>com.fasterxml.woodstox</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>woodstox-core</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>6.4.0</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>com.sun.xml.messaging.saaj</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>saaj-impl</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>com.sun.xml.messaging.saaj</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>saaj-impl</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.neethi</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>neethi</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.2.0</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.neethi</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>neethi</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.2.0</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.ehcache</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>ehcache</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.10.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.ehcache</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>ehcache</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.10.8</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>org.glassfish.jaxb</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jaxb-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>org.glassfish.jaxb</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jaxb-runtime</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>org.jvnet.mimepull</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>mimepull</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.9.14</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.jvnet.mimepull</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>mimepull</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.9.14</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.santuario</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>xmlsec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>2.3.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.santuario</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>xmlsec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>2.3.2</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
         <exclusions>
           <exclusion>
-            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.activation</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.activation-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
           <exclusion>
-            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+            <groupId>jakarta.xml.bind</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+            <artifactId>jakarta.xml.bind-api</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.xmlsec</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-xmlsec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.1.1</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.xmlsec</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-xmlsec</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.1.1</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>io.quarkiverse.xmlsec</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>quarkus-xmlsec-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>1.1.1</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>io.quarkiverse.xmlsec</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>quarkus-xmlsec-deployment</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>1.1.1</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-bindings-soap</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-bindings-soap</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-bindings-xml</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-bindings-xml</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-databinding-jaxb</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-databinding-jaxb</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-frontend-simple</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-frontend-simple</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-management</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-management</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-rs-json-basic</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-rs-json-basic</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-rs-security-jose</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-rs-security-jose</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-security-saml</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-security-saml</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-wsdl</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-wsdl</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-ws-addr</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-ws-addr</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
-        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <artifactId>cxf-rt-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
-        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.6 -->
+        <groupId>org.apache.cxf</groupId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <artifactId>cxf-rt-security</artifactId><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
+        <version>3.5.3</version><!-- io.quarkiverse.cxf:quarkus-cxf-bom:1.5.7 -->
       </dependency>
       <dependency>
         <groupId>org.codehaus.groovy</groupId><!-- org.codehaus.groovy:groovy-bom:3.0.8 -->


[camel-quarkus] 03/08: Add WS-Trust test for CXF SOAP

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

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit f61cedbfbae362ae2927ea03edc749d8d04c132f
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Thu Oct 27 11:28:45 2022 +0200

    Add WS-Trust test for CXF SOAP
---
 .../cxf-soap/cxf-soap-ws-trust/pom.xml             | 135 +++++++++
 .../ws/trust/common/PasswordCallbackHandler.java   |  52 ++++
 .../it/ws/trust/server/ServerCallbackHandler.java  |  30 ++
 .../soap/it/ws/trust/server/TrustHelloService.java |  34 +++
 .../it/ws/trust/server/WsTrustServerRoutes.java    |  70 +++++
 .../cxf/soap/it/ws/trust/sts/SampleSTS.java        |  86 ++++++
 .../soap/it/ws/trust/sts/StsCallbackHandler.java   |  32 +++
 .../src/main/resources/AsymmetricSAML2Policy.xml   | 102 +++++++
 .../src/main/resources/Input_Policy.xml            |  48 ++++
 .../src/main/resources/Output_Policy.xml           |  48 ++++
 .../src/main/resources/TrustHelloService.wsdl      | 182 +++++++++++++
 .../main/resources/TrustHelloService_schema1.xsd   |  36 +++
 .../src/main/resources/application.properties      |  25 ++
 .../src/main/resources/serviceKeystore.properties  |  40 +++
 .../src/main/resources/servicestore.jks            | Bin 0 -> 3475 bytes
 .../src/main/resources/stsKeystore.properties      |  39 +++
 .../src/main/resources/stsstore.jks                | Bin 0 -> 5570 bytes
 .../src/main/resources/ws-trust-1.4-service.wsdl   | 303 +++++++++++++++++++++
 .../soap/it/ws/trust/ClientCallbackHandler.java    |  50 ++++
 .../cxf/soap/it/ws/trust/CxfWsTrustIT.java         |  24 ++
 .../cxf/soap/it/ws/trust/CxfWsTrustTest.java       | 167 ++++++++++++
 .../src/test/resources/clientKeystore.properties   |  40 +++
 .../src/test/resources/clientstore.jks             | Bin 0 -> 5571 bytes
 integration-test-groups/cxf-soap/pom.xml           |   1 +
 integration-tests/cxf-soap-grouped/pom.xml         | 232 ++++++++++++++++
 25 files changed, 1776 insertions(+)

diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/pom.xml b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/pom.xml
new file mode 100644
index 0000000000..bd2e3516dc
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/pom.xml
@@ -0,0 +1,135 @@
+<?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.14.0-SNAPSHOT</version>
+        <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-integration-test-cxf-soap-ws-trust</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: CXF SOAP WS-Trust</name>
+    <description>Integration tests for Camel Quarkus CXF extension acting as SOAP server having WS-Security enabled</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-cxf-soap</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkiverse.cxf</groupId>
+            <artifactId>quarkus-cxf-services-sts</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkiverse.cxf</groupId>
+            <artifactId>quarkus-cxf-rt-features-logging</artifactId>
+        </dependency>
+
+        <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>io.quarkiverse.cxf</groupId>
+            <artifactId>quarkus-cxf-test-util</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.assertj</groupId>
+            <artifactId>assertj-core</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>
+            </dependencies>
+        </profile>
+        <profile>
+            <id>skip-testcontainers-tests</id>
+            <activation>
+                <property>
+                    <name>skip-testcontainers-tests</name>
+                </property>
+            </activation>
+            <properties>
+                <skipTests>true</skipTests>
+            </properties>
+        </profile>
+    </profiles>
+
+</project>
\ No newline at end of file
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/common/PasswordCallbackHandler.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/common/PasswordCallbackHandler.java
new file mode 100644
index 0000000000..a4c894137f
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/common/PasswordCallbackHandler.java
@@ -0,0 +1,52 @@
+/*
+ * 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.ws.trust.common;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import org.apache.wss4j.common.ext.WSPasswordCallback;
+
+public class PasswordCallbackHandler implements CallbackHandler {
+
+    private Map<String, String> passwords = new HashMap<String, String>();
+
+    public PasswordCallbackHandler(Map<String, String> initMap) {
+        passwords.putAll(initMap);
+    }
+
+    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+        for (int i = 0; i < callbacks.length; i++) {
+            final Callback c = callbacks[i];
+            if (c != null && c instanceof WSPasswordCallback) {
+                final WSPasswordCallback pc = (WSPasswordCallback) c;
+
+                String pass = passwords.get(pc.getIdentifier());
+                if (pass != null) {
+                    pc.setPassword(pass);
+                    return;
+                }
+            }
+        }
+    }
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/ServerCallbackHandler.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/ServerCallbackHandler.java
new file mode 100644
index 0000000000..9579a3e249
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/ServerCallbackHandler.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server;
+
+import java.util.Map;
+
+import io.quarkus.runtime.annotations.RegisterForReflection;
+import org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.common.PasswordCallbackHandler;
+
+@RegisterForReflection
+public class ServerCallbackHandler extends PasswordCallbackHandler {
+
+    public ServerCallbackHandler() {
+        super(Map.of("myservicekey", "skpass"));
+    }
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/TrustHelloService.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/TrustHelloService.java
new file mode 100644
index 0000000000..0fe5bdff84
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/TrustHelloService.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+import org.apache.cxf.annotations.Policies;
+import org.apache.cxf.annotations.Policy;
+
+@WebService(targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust")
+@Policy(placement = Policy.Placement.BINDING, uri = "classpath:/AsymmetricSAML2Policy.xml")
+public interface TrustHelloService {
+    @WebMethod
+    @Policies({
+            @Policy(placement = Policy.Placement.BINDING_OPERATION_INPUT, uri = "classpath:/Input_Policy.xml"),
+            @Policy(placement = Policy.Placement.BINDING_OPERATION_OUTPUT, uri = "classpath:/Output_Policy.xml")
+    })
+    String sayHello();
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/WsTrustServerRoutes.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/WsTrustServerRoutes.java
new file mode 100644
index 0000000000..4176f7a384
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/WsTrustServerRoutes.java
@@ -0,0 +1,70 @@
+/*
+ * 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.ws.trust.server;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+import javax.xml.namespace.QName;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.cxf.jaxws.CxfEndpoint;
+import org.apache.cxf.ext.logging.LoggingFeature;
+
+@ApplicationScoped
+public class WsTrustServerRoutes extends RouteBuilder {
+
+    @Override
+    public void configure() {
+
+        from("cxf:bean:wsTrustHelloService?dataFormat=POJO")
+                .setBody().constant("WS-Trust Hello World!");
+
+    }
+
+    @Produces
+    @ApplicationScoped
+    @Named
+    CxfEndpoint wsTrustHelloService() {
+        final CxfEndpoint result = new CxfEndpoint();
+        result.setServiceClass(TrustHelloService.class);
+        result.setAddress("/jaxws-samples-wsse-policy-trust");
+        result.setPortName("TrustHelloServicePort");
+        result.setServiceNameAsQName(
+                new QName("https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust", "TrustHelloService"));
+        result.setWsdlURL("TrustHelloService.wsdl");
+
+        final LoggingFeature lf = new LoggingFeature();
+        lf.setPrettyLogging(true);
+        result.getFeatures().add(lf);
+
+        Map<String, Object> props = new HashMap<>();
+
+        props.put("ws-security.signature.username", "myservicekey");
+        props.put("ws-security.signature.properties", "serviceKeystore.properties");
+        props.put("ws-security.encryption.properties", "serviceKeystore.properties");
+        props.put("ws-security.callback-handler",
+                "org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.ServerCallbackHandler");
+        result.setProperties(props);
+
+        return result;
+    }
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/SampleSTS.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/SampleSTS.java
new file mode 100644
index 0000000000..0ad041d4eb
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/SampleSTS.java
@@ -0,0 +1,86 @@
+/*
+ * 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.ws.trust.sts;
+
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.xml.ws.WebServiceProvider;
+
+import io.quarkus.runtime.LaunchMode;
+import org.apache.cxf.annotations.EndpointProperties;
+import org.apache.cxf.annotations.EndpointProperty;
+import org.apache.cxf.sts.StaticSTSProperties;
+import org.apache.cxf.sts.operation.TokenIssueOperation;
+import org.apache.cxf.sts.operation.TokenValidateOperation;
+import org.apache.cxf.sts.service.ServiceMBean;
+import org.apache.cxf.sts.service.StaticService;
+import org.apache.cxf.sts.token.delegation.UsernameTokenDelegationHandler;
+import org.apache.cxf.sts.token.provider.SAMLTokenProvider;
+import org.apache.cxf.sts.token.validator.SAMLTokenValidator;
+import org.apache.cxf.sts.token.validator.UsernameTokenValidator;
+import org.apache.cxf.ws.security.sts.provider.SecurityTokenServiceProvider;
+import org.eclipse.microprofile.config.Config;
+import org.eclipse.microprofile.config.ConfigProvider;
+
+@WebServiceProvider(serviceName = "SecurityTokenService", portName = "UT_Port", targetNamespace = "http://docs.oasis-open.org/ws-sx/ws-trust/200512/", wsdlLocation = "ws-trust-1.4-service.wsdl")
+@EndpointProperties(value = {
+        @EndpointProperty(key = "ws-security.signature.username", value = "mystskey"),
+        @EndpointProperty(key = "ws-security.signature.properties", value = "stsKeystore.properties"),
+        @EndpointProperty(key = "ws-security.callback-handler", value = "org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.sts.StsCallbackHandler"),
+        @EndpointProperty(key = "ws-security.validate.token", value = "false")
+})
+public class SampleSTS extends SecurityTokenServiceProvider {
+
+    public SampleSTS() throws Exception {
+        super();
+
+        StaticSTSProperties props = new StaticSTSProperties();
+        props.setSignatureCryptoProperties("stsKeystore.properties");
+        props.setSignatureUsername("mystskey");
+        props.setCallbackHandlerClass(StsCallbackHandler.class.getName());
+        props.setIssuer("DoubleItSTSIssuer");
+
+        List<ServiceMBean> services = new LinkedList<ServiceMBean>();
+        StaticService service = new StaticService();
+        final Config config = ConfigProvider.getConfig();
+        final int port = LaunchMode.current().equals(LaunchMode.TEST) ? config.getValue("quarkus.http.test-port", Integer.class)
+                : config.getValue("quarkus.http.port", Integer.class);
+        service.setEndpoints(Arrays.asList(
+                "http://localhost:" + port + "/soapservice/jaxws-samples-wsse-policy-trust/TrustHelloService",
+                "http://localhost:" + port + "/soapservice/jaxws-samples-wsse-policy-trust-actas/ActAsService",
+                "http://localhost:" + port + "/soapservice/jaxws-samples-wsse-policy-trust-onbehalfof/OnBehalfOfService"));
+        services.add(service);
+
+        TokenIssueOperation issueOperation = new TokenIssueOperation();
+        issueOperation.setServices(services);
+        issueOperation.getTokenProviders().add(new SAMLTokenProvider());
+        // required for OnBehalfOf
+        issueOperation.getTokenValidators().add(new UsernameTokenValidator());
+        // added for OnBehalfOf and ActAs
+        issueOperation.getDelegationHandlers().add(new UsernameTokenDelegationHandler());
+        issueOperation.setStsProperties(props);
+
+        TokenValidateOperation validateOperation = new TokenValidateOperation();
+        validateOperation.getTokenValidators().add(new SAMLTokenValidator());
+        validateOperation.setStsProperties(props);
+
+        this.setIssueOperation(issueOperation);
+        this.setValidateOperation(validateOperation);
+    }
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/StsCallbackHandler.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/StsCallbackHandler.java
new file mode 100644
index 0000000000..68e4b2e874
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/StsCallbackHandler.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.ws.trust.sts;
+
+import java.util.Map;
+
+import io.quarkus.runtime.annotations.RegisterForReflection;
+import org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.common.PasswordCallbackHandler;
+
+@RegisterForReflection(methods = false, fields = false)
+public class StsCallbackHandler extends PasswordCallbackHandler {
+
+    public StsCallbackHandler() {
+        super(Map.of(
+                "mystskey", "stskpass",
+                "alice", "clarinet"));
+    }
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/AsymmetricSAML2Policy.xml b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/AsymmetricSAML2Policy.xml
new file mode 100644
index 0000000000..a0aff7d559
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/AsymmetricSAML2Policy.xml
@@ -0,0 +1,102 @@
+<?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.
+
+-->
+<wsp:Policy wsu:Id="AsymmetricSAML2Policy"
+        xmlns:tns="https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust"
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:wsp="http://www.w3.org/ns/ws-policy"
+        xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
+        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+        xmlns:wsaws="http://www.w3.org/2005/08/addressing"
+        xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
+        xmlns:t="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <wsam:Addressing wsp:Optional="false">
+                <wsp:Policy />
+            </wsam:Addressing>
+            <sp:AsymmetricBinding>
+                <wsp:Policy>
+                    <sp:InitiatorToken>
+                        <wsp:Policy>
+                            <sp:IssuedToken
+                                sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                                <sp:RequestSecurityTokenTemplate>
+                                    <t:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0</t:TokenType>
+                                    <t:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/PublicKey</t:KeyType>
+                                </sp:RequestSecurityTokenTemplate>
+                                <wsp:Policy>
+                                    <sp:RequireInternalReference />
+                                </wsp:Policy>
+                                <sp:Issuer>
+                                    <wsaws:Address>http://localhost:8081/jaxws-samples-wsse-policy-trust-sts/SecurityTokenService</wsaws:Address>
+                                    <wsaws:Metadata xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
+                                                    wsdli:wsdlLocation="http://localhost:8081/jaxws-samples-wsse-policy-trust-sts/SecurityTokenService?wsdl">
+                                        <wsaw:ServiceName xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+                                                        xmlns:stsns="http://docs.oasis-open.org/ws-sx/ws-trust/200512/"
+                                                        EndpointName="UT_Port">stsns:SecurityTokenService</wsaw:ServiceName>
+                                    </wsaws:Metadata>
+                                </sp:Issuer>
+                            </sp:IssuedToken>
+                        </wsp:Policy>
+                    </sp:InitiatorToken>
+                    <sp:RecipientToken>
+                        <wsp:Policy>
+                            <sp:X509Token
+                                sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                <wsp:Policy>
+                                    <sp:WssX509V3Token10 />
+                                    <sp:RequireIssuerSerialReference />
+                                </wsp:Policy>
+                            </sp:X509Token>
+                        </wsp:Policy>
+                    </sp:RecipientToken>
+                    <sp:Layout>
+                        <wsp:Policy>
+                            <sp:Lax />
+                        </wsp:Policy>
+                    </sp:Layout>
+                    <sp:IncludeTimestamp />
+                    <sp:OnlySignEntireHeadersAndBody />
+                    <sp:AlgorithmSuite>
+                        <wsp:Policy>
+                            <sp:Basic256 />
+                        </wsp:Policy>
+                    </sp:AlgorithmSuite>
+                </wsp:Policy>
+            </sp:AsymmetricBinding>
+            <sp:Wss11>
+                <wsp:Policy>
+                    <sp:MustSupportRefIssuerSerial />
+                    <sp:MustSupportRefThumbprint />
+                    <sp:MustSupportRefEncryptedKey />
+                </wsp:Policy>
+            </sp:Wss11>
+            <sp:Trust13>
+                <wsp:Policy>
+                    <sp:MustSupportIssuedTokens />
+                    <sp:RequireClientEntropy />
+                    <sp:RequireServerEntropy />
+                </wsp:Policy>
+            </sp:Trust13>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/Input_Policy.xml b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/Input_Policy.xml
new file mode 100644
index 0000000000..c968a184e0
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/Input_Policy.xml
@@ -0,0 +1,48 @@
+<?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.
+
+-->
+<wsp:Policy wsu:Id="Input_Policy"
+        xmlns:tns="https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust"
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:wsp="http://www.w3.org/ns/ws-policy"
+        xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
+        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+        xmlns:wsaws="http://www.w3.org/2005/08/addressing"
+        xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
+        xmlns:t="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EncryptedParts>
+                <sp:Body />
+            </sp:EncryptedParts>
+            <sp:SignedParts>
+                <sp:Body />
+                <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+            </sp:SignedParts>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/Output_Policy.xml b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/Output_Policy.xml
new file mode 100644
index 0000000000..9b7ab0cfe8
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/Output_Policy.xml
@@ -0,0 +1,48 @@
+<?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.
+
+-->
+<wsp:Policy wsu:Id="Output_Policy"
+        xmlns:tns="https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust"
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:wsp="http://www.w3.org/ns/ws-policy"
+        xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
+        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+        xmlns:wsaws="http://www.w3.org/2005/08/addressing"
+        xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
+        xmlns:t="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EncryptedParts>
+                <sp:Body />
+            </sp:EncryptedParts>
+            <sp:SignedParts>
+                <sp:Body />
+                <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+            </sp:SignedParts>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/TrustHelloService.wsdl b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/TrustHelloService.wsdl
new file mode 100644
index 0000000000..60651ab719
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/TrustHelloService.wsdl
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+
+    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.
+
+-->
+<definitions targetNamespace="https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust" name="TrustHelloService"
+        xmlns:tns="https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust"
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:wsp="http://www.w3.org/ns/ws-policy"
+        xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
+        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+        xmlns:wsaws="http://www.w3.org/2005/08/addressing"
+        xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
+        xmlns:t="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
+  <types>
+    <xsd:schema>
+      <xsd:import namespace="https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust" schemaLocation="TrustHelloService_schema1.xsd"/>
+    </xsd:schema>
+  </types>
+  <message name="sayHello">
+    <part name="parameters" element="tns:sayHello"/>
+  </message>
+  <message name="sayHelloResponse">
+    <part name="parameters" element="tns:sayHelloResponse"/>
+  </message>
+  <portType name="TrustHelloService">
+    <operation name="sayHello">
+      <input message="tns:sayHello"/>
+      <output message="tns:sayHelloResponse"/>
+    </operation>
+  </portType>
+  <binding name="TrustHelloServicePortBinding" type="tns:TrustHelloService">
+    <wsp:PolicyReference URI="#AsymmetricSAML2Policy" />
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+    <operation name="sayHello">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+        <wsp:PolicyReference URI="#Input_Policy" />
+      </input>
+      <output>
+        <soap:body use="literal"/>
+        <wsp:PolicyReference URI="#Output_Policy" />
+      </output>
+    </operation>
+  </binding>
+  <service name="TrustHelloService">
+    <port name="TrustHelloServicePort" binding="tns:TrustHelloServicePortBinding">
+      <soap:address location="http://@jboss.bind.address@:@add_int(port-offset.cxf-tests.jboss,8080)@/jaxws-samples-wsse-policy-trust/TrustHelloService"/>
+    </port>
+  </service>
+
+  <wsp:Policy wsu:Id="AsymmetricSAML2Policy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <wsam:Addressing wsp:Optional="false">
+                    <wsp:Policy />
+                </wsam:Addressing>
+                <sp:AsymmetricBinding>
+                    <wsp:Policy>
+                        <sp:InitiatorToken>
+                            <wsp:Policy>
+                                <sp:IssuedToken
+                                    sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                                    <sp:RequestSecurityTokenTemplate>
+                                        <t:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0</t:TokenType>
+                                        <t:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/PublicKey</t:KeyType>
+                                    </sp:RequestSecurityTokenTemplate>
+                                    <wsp:Policy>
+                                        <sp:RequireInternalReference />
+                                    </wsp:Policy>
+                                    <sp:Issuer>
+                                        <wsaws:Address>http://localhost:8081/jaxws-samples-wsse-policy-trust-sts/SecurityTokenService</wsaws:Address>
+                                        <wsaws:Metadata xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
+                                                        wsdli:wsdlLocation="http://localhost:8081/jaxws-samples-wsse-policy-trust-sts/SecurityTokenService?wsdl">
+                                            <wsaw:ServiceName xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+                                                            xmlns:stsns="http://docs.oasis-open.org/ws-sx/ws-trust/200512/"
+                                                            EndpointName="UT_Port">stsns:SecurityTokenService</wsaw:ServiceName>
+                                        </wsaws:Metadata>
+                                    </sp:Issuer>
+                                </sp:IssuedToken>
+                            </wsp:Policy>
+                        </sp:InitiatorToken>
+                        <sp:RecipientToken>
+                            <wsp:Policy>
+                                <sp:X509Token
+                                    sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10 />
+                                        <sp:RequireIssuerSerialReference />
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:RecipientToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax />
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp />
+                        <sp:OnlySignEntireHeadersAndBody />
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic256 />
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:AsymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial />
+                        <sp:MustSupportRefThumbprint />
+                        <sp:MustSupportRefEncryptedKey />
+                    </wsp:Policy>
+                </sp:Wss11>
+                <sp:Trust13>
+                    <wsp:Policy>
+                        <sp:MustSupportIssuedTokens />
+                        <sp:RequireClientEntropy />
+                        <sp:RequireServerEntropy />
+                    </wsp:Policy>
+                </sp:Trust13>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+
+    <wsp:Policy wsu:Id="Input_Policy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:EncryptedParts>
+                    <sp:Body />
+                </sp:EncryptedParts>
+                <sp:SignedParts>
+                    <sp:Body />
+                    <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+                </sp:SignedParts>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+
+    <wsp:Policy wsu:Id="Output_Policy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:EncryptedParts>
+                    <sp:Body />
+                </sp:EncryptedParts>
+                <sp:SignedParts>
+                    <sp:Body />
+                    <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                    <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+                </sp:SignedParts>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+</definitions>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/TrustHelloService_schema1.xsd b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/TrustHelloService_schema1.xsd
new file mode 100644
index 0000000000..c4297b447f
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/TrustHelloService_schema1.xsd
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+
+    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.
+
+-->
+<xs:schema version="1.0" targetNamespace="https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust" xmlns:tns="https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <xs:element name="sayHello" type="tns:sayHello"/>
+
+  <xs:element name="sayHelloResponse" type="tns:sayHelloResponse"/>
+
+  <xs:complexType name="sayHello">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="sayHelloResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>
+
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/application.properties b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/application.properties
new file mode 100644
index 0000000000..2652146673
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/application.properties
@@ -0,0 +1,25 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+quarkus.cxf.path=/soapservice
+
+quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust-sts".implementor=org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.sts.SampleSTS
+quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust-sts".features=org.apache.cxf.ext.logging.LoggingFeature
+
+#quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust".implementor=org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.TrustHelloServiceImpl
+#quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust".features=org.apache.cxf.ext.logging.LoggingFeature
+
+quarkus.native.resources.includes=*.properties,*.jks,*.wsdl,*.xml
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/serviceKeystore.properties b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/serviceKeystore.properties
new file mode 100644
index 0000000000..58141f4679
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/serviceKeystore.properties
@@ -0,0 +1,40 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+#
+# 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.
+#
+org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
+org.apache.ws.security.crypto.merlin.keystore.type=jks
+org.apache.ws.security.crypto.merlin.keystore.password=sspass
+org.apache.ws.security.crypto.merlin.keystore.alias=myservicekey
+org.apache.ws.security.crypto.merlin.keystore.file=servicestore.jks
+
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/servicestore.jks b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/servicestore.jks
new file mode 100644
index 0000000000..999ee824c3
Binary files /dev/null and b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/servicestore.jks differ
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/stsKeystore.properties b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/stsKeystore.properties
new file mode 100644
index 0000000000..c67a29ed4c
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/stsKeystore.properties
@@ -0,0 +1,39 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+#
+# 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.
+#
+org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
+org.apache.ws.security.crypto.merlin.keystore.type=jks
+org.apache.ws.security.crypto.merlin.keystore.password=stsspass
+org.apache.ws.security.crypto.merlin.keystore.file=stsstore.jks
+
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/stsstore.jks b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/stsstore.jks
new file mode 100644
index 0000000000..4ba33e40ef
Binary files /dev/null and b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/stsstore.jks differ
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/ws-trust-1.4-service.wsdl b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/ws-trust-1.4-service.wsdl
new file mode 100644
index 0000000000..76bc7b8ea2
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/ws-trust-1.4-service.wsdl
@@ -0,0 +1,303 @@
+<?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.
+
+-->
+<wsdl:definitions targetNamespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" xmlns:tns="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" xmlns:wstrust="http://docs.oasis-open.org/ws-sx/ws-trust/200512/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsap10="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ [...]
+
+    <wsdl:types>
+        <xs:schema elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
+
+            <xs:element name="RequestSecurityToken" type="wst:AbstractRequestSecurityTokenType" />
+            <xs:element name="RequestSecurityTokenResponse" type="wst:AbstractRequestSecurityTokenType" />
+
+            <xs:complexType name="AbstractRequestSecurityTokenType">
+                <xs:sequence>
+                    <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+                </xs:sequence>
+                <xs:attribute name="Context" type="xs:anyURI" use="optional" />
+                <xs:anyAttribute namespace="##other" processContents="lax" />
+            </xs:complexType>
+            <xs:element name="RequestSecurityTokenCollection" type="wst:RequestSecurityTokenCollectionType" />
+            <xs:complexType name="RequestSecurityTokenCollectionType">
+                <xs:sequence>
+                    <xs:element name="RequestSecurityToken" type="wst:AbstractRequestSecurityTokenType" minOccurs="2" maxOccurs="unbounded" />
+                </xs:sequence>
+            </xs:complexType>
+
+            <xs:element name="RequestSecurityTokenResponseCollection" type="wst:RequestSecurityTokenResponseCollectionType" />
+            <xs:complexType name="RequestSecurityTokenResponseCollectionType">
+                <xs:sequence>
+                    <xs:element ref="wst:RequestSecurityTokenResponse" minOccurs="1" maxOccurs="unbounded" />
+                </xs:sequence>
+                <xs:anyAttribute namespace="##other" processContents="lax" />
+            </xs:complexType>
+
+        </xs:schema>
+    </wsdl:types>
+
+    <!-- WS-Trust defines the following GEDs -->
+    <wsdl:message name="RequestSecurityTokenMsg">
+        <wsdl:part name="request" element="wst:RequestSecurityToken" />
+    </wsdl:message>
+    <wsdl:message name="RequestSecurityTokenResponseMsg">
+        <wsdl:part name="response" element="wst:RequestSecurityTokenResponse" />
+    </wsdl:message>
+    <wsdl:message name="RequestSecurityTokenCollectionMsg">
+        <wsdl:part name="requestCollection" element="wst:RequestSecurityTokenCollection" />
+    </wsdl:message>
+    <wsdl:message name="RequestSecurityTokenResponseCollectionMsg">
+        <wsdl:part name="responseCollection" element="wst:RequestSecurityTokenResponseCollection" />
+    </wsdl:message>
+
+    <!-- This portType an example of a Requestor (or other) endpoint that
+         Accepts SOAP-based challenges from a Security Token Service -->
+    <wsdl:portType name="WSSecurityRequestor">
+        <wsdl:operation name="Challenge">
+            <wsdl:input message="tns:RequestSecurityTokenResponseMsg" />
+            <wsdl:output message="tns:RequestSecurityTokenResponseMsg" />
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <!-- This portType is an example of an STS supporting full protocol -->
+    <wsdl:portType name="STS">
+        <wsdl:operation name="Cancel">
+            <wsdl:input wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Cancel" message="tns:RequestSecurityTokenMsg" />
+            <wsdl:output wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTR/CancelFinal" message="tns:RequestSecurityTokenResponseMsg" />
+        </wsdl:operation>
+        <wsdl:operation name="Issue">
+            <wsdl:input wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" message="tns:RequestSecurityTokenMsg" />
+            <wsdl:output wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTRC/IssueFinal" message="tns:RequestSecurityTokenResponseCollectionMsg" />
+        </wsdl:operation>
+        <wsdl:operation name="Renew">
+            <wsdl:input wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Renew" message="tns:RequestSecurityTokenMsg" />
+            <wsdl:output wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTR/RenewFinal" message="tns:RequestSecurityTokenResponseMsg" />
+        </wsdl:operation>
+        <wsdl:operation name="Validate">
+            <wsdl:input wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Validate" message="tns:RequestSecurityTokenMsg" />
+            <wsdl:output wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTR/ValidateFinal" message="tns:RequestSecurityTokenResponseMsg" />
+        </wsdl:operation>
+        <wsdl:operation name="KeyExchangeToken">
+            <wsdl:input wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/KET" message="tns:RequestSecurityTokenMsg" />
+            <wsdl:output wsam:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTR/KETFinal" message="tns:RequestSecurityTokenResponseMsg" />
+        </wsdl:operation>
+        <wsdl:operation name="RequestCollection">
+            <wsdl:input message="tns:RequestSecurityTokenCollectionMsg" />
+            <wsdl:output message="tns:RequestSecurityTokenResponseCollectionMsg" />
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <!-- This portType is an example of an endpoint that accepts
+         Unsolicited RequestSecurityTokenResponse messages -->
+    <wsdl:portType name="SecurityTokenResponseService">
+        <wsdl:operation name="RequestSecurityTokenResponse">
+            <wsdl:input message="tns:RequestSecurityTokenResponseMsg" />
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:binding name="UT_Binding" type="wstrust:STS">
+        <wsp:PolicyReference URI="#UT_policy" />
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+        <wsdl:operation name="Issue">
+            <soap:operation soapAction="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" />
+            <wsdl:input>
+                <wsp:PolicyReference URI="#Input_policy" />
+                <soap:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <wsp:PolicyReference URI="#Output_policy" />
+                <soap:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="Validate">
+            <soap:operation soapAction="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Validate" />
+            <wsdl:input>
+                <wsp:PolicyReference URI="#Input_policy" />
+                <soap:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <wsp:PolicyReference URI="#Output_policy" />
+                <soap:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="Cancel">
+            <soap:operation soapAction="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Cancel" />
+            <wsdl:input>
+                <soap:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="Renew">
+            <soap:operation soapAction="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Renew" />
+            <wsdl:input>
+                <soap:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="KeyExchangeToken">
+            <soap:operation soapAction="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/KeyExchangeToken" />
+            <wsdl:input>
+                <soap:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="RequestCollection">
+            <soap:operation soapAction="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/RequestCollection" />
+            <wsdl:input>
+                <soap:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+
+    <wsdl:service name="SecurityTokenService">
+        <wsdl:port name="UT_Port" binding="tns:UT_Binding">
+            <soap:address location="http://localhost:8081/jaxws-samples-wsse-policy-trust-sts/SecurityTokenService/UT" />
+        </wsdl:port>
+    </wsdl:service>
+
+    <wsp:Policy wsu:Id="UT_policy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <wsap10:UsingAddressing />
+                <sp:SymmetricBinding
+               xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+               <wsp:Policy>
+                  <sp:ProtectionToken>
+                     <wsp:Policy>
+                        <sp:X509Token
+                           sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                           <wsp:Policy>
+                              <sp:RequireDerivedKeys />
+                              <sp:RequireThumbprintReference />
+                              <sp:WssX509V3Token10 />
+                           </wsp:Policy>
+                        </sp:X509Token>
+                     </wsp:Policy>
+                  </sp:ProtectionToken>
+                  <sp:AlgorithmSuite>
+                     <wsp:Policy>
+                        <sp:Basic256 />
+                     </wsp:Policy>
+                  </sp:AlgorithmSuite>
+                  <sp:Layout>
+                     <wsp:Policy>
+                        <sp:Lax />
+                     </wsp:Policy>
+                  </sp:Layout>
+                  <sp:IncludeTimestamp />
+                  <sp:EncryptSignature />
+                  <sp:OnlySignEntireHeadersAndBody />
+               </wsp:Policy>
+            </sp:SymmetricBinding>
+            <sp:SignedSupportingTokens
+               xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+               <wsp:Policy>
+                  <sp:UsernameToken
+                     sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                     <wsp:Policy>
+                        <sp:WssUsernameToken10 />
+                     </wsp:Policy>
+                  </sp:UsernameToken>
+               </wsp:Policy>
+            </sp:SignedSupportingTokens>
+            <sp:Wss11
+               xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+               <wsp:Policy>
+                  <sp:MustSupportRefKeyIdentifier />
+                  <sp:MustSupportRefIssuerSerial />
+                  <sp:MustSupportRefThumbprint />
+                  <sp:MustSupportRefEncryptedKey />
+               </wsp:Policy>
+            </sp:Wss11>
+            <sp:Trust13
+               xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+               <wsp:Policy>
+                  <sp:MustSupportIssuedTokens />
+                  <sp:RequireClientEntropy />
+                  <sp:RequireServerEntropy />
+               </wsp:Policy>
+            </sp:Trust13>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+   <wsp:Policy wsu:Id="Input_policy">
+      <wsp:ExactlyOne>
+         <wsp:All>
+            <sp:SignedParts
+               xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+               <sp:Body />
+               <sp:Header Name="To"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="From"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="FaultTo"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="ReplyTo"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="MessageID"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="RelatesTo"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="Action"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+            </sp:SignedParts>
+            <sp:EncryptedParts
+               xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+               <sp:Body />
+            </sp:EncryptedParts>
+         </wsp:All>
+      </wsp:ExactlyOne>
+   </wsp:Policy>
+
+   <wsp:Policy wsu:Id="Output_policy">
+      <wsp:ExactlyOne>
+         <wsp:All>
+            <sp:SignedParts
+               xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+               <sp:Body />
+               <sp:Header Name="To"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="From"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="FaultTo"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="ReplyTo"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="MessageID"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="RelatesTo"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+               <sp:Header Name="Action"
+                  Namespace="http://www.w3.org/2005/08/addressing" />
+            </sp:SignedParts>
+            <sp:EncryptedParts
+               xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+               <sp:Body />
+            </sp:EncryptedParts>
+         </wsp:All>
+      </wsp:ExactlyOne>
+   </wsp:Policy>
+</wsdl:definitions>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/ClientCallbackHandler.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/ClientCallbackHandler.java
new file mode 100644
index 0000000000..6ede4fa0e2
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/ClientCallbackHandler.java
@@ -0,0 +1,50 @@
+/*
+ * 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.ws.trust;
+
+import java.io.IOException;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import org.apache.wss4j.common.ext.WSPasswordCallback;
+
+public class ClientCallbackHandler implements CallbackHandler {
+
+    public void handle(Callback[] callbacks) throws IOException,
+            UnsupportedCallbackException {
+        for (int i = 0; i < callbacks.length; i++) {
+            if (callbacks[i] instanceof WSPasswordCallback) {
+                WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
+                if ("myclientkey".equals(pc.getIdentifier())) {
+                    pc.setPassword("ckpass");
+                    break;
+                } else if ("alice".equals(pc.getIdentifier())) {
+                    pc.setPassword("clarinet");
+                    break;
+                } else if ("bob".equals(pc.getIdentifier())) {
+                    pc.setPassword("trombone");
+                    break;
+                } else if ("myservicekey".equals(pc.getIdentifier())) { // rls test  added for bearer test
+                    pc.setPassword("skpass");
+                    break;
+                }
+            }
+        }
+    }
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustIT.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustIT.java
new file mode 100644
index 0000000000..cf3b6cba8a
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustIT.java
@@ -0,0 +1,24 @@
+/*
+ * 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.ws.trust;
+
+import io.quarkus.test.junit.QuarkusIntegrationTest;
+
+@QuarkusIntegrationTest
+public class CxfWsTrustIT extends CxfWsTrustTest {
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java
new file mode 100644
index 0000000000..0c1b496f66
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java
@@ -0,0 +1,167 @@
+/*
+ * 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.ws.trust;
+
+import java.net.URL;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Service;
+
+import io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil;
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import io.restassured.config.RestAssuredConfig;
+import org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.TrustHelloService;
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.ws.security.SecurityConstants;
+import org.apache.cxf.ws.security.trust.STSClient;
+import org.assertj.core.api.Assertions;
+import org.hamcrest.CoreMatchers;
+import org.hamcrest.Matchers;
+import org.junit.jupiter.api.Test;
+
+import static io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.anyNs;
+import static io.restassured.RestAssured.given;
+
+@QuarkusTest
+public class CxfWsTrustTest {
+
+    /**
+     * Make sure the ws-trust-1.4-service.wsdl file is served
+     */
+    @Test
+    void stsWsdl() {
+        RestAssuredConfig config = RestAssured.config();
+        config.getXmlConfig().namespaceAware(false);
+        given()
+                .config(config)
+                .when().get("/soapservice/jaxws-samples-wsse-policy-trust-sts?wsdl")
+                .then()
+                .statusCode(200)
+                .body(
+                        Matchers.hasXPath(
+                                anyNs("definitions", "Policy")
+                                        + "/@*[local-name() = 'Id']",
+                                CoreMatchers.is("UT_policy")));
+    }
+
+    @Test
+    void wsdl() {
+        RestAssuredConfig config = RestAssured.config();
+        config.getXmlConfig().namespaceAware(false);
+        given()
+                .config(config)
+                .when().get("/soapservice/jaxws-samples-wsse-policy-trust?wsdl")
+                .then()
+                .statusCode(200)
+                .body(
+                        Matchers.hasXPath(
+                                anyNs("definitions", "Policy")
+                                        + "[1]/@*[local-name() = 'Id']",
+                                CoreMatchers.is("AsymmetricSAML2Policy")),
+                        Matchers.hasXPath(
+                                anyNs("definitions", "Policy")
+                                        + "[2]/@*[local-name() = 'Id']",
+                                CoreMatchers.is("Input_Policy")),
+                        Matchers.hasXPath(
+                                anyNs("definitions", "Policy")
+                                        + "[3]/@*[local-name() = 'Id']",
+                                CoreMatchers.is("Output_Policy"))
+
+                );
+    }
+
+    @Test
+    public void programmaticSts() throws Exception {
+        Bus bus = BusFactory.newInstance().createBus();
+        try {
+            BusFactory.setThreadDefaultBus(bus);
+
+            final QName serviceName = new QName("https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust",
+                    "TrustHelloService");
+            final URL wsdlURL = new URL(io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.getServerUrl()
+                    + "/soapservice/jaxws-samples-wsse-policy-trust/TrustHelloService?wsdl");
+            Service service = Service.create(wsdlURL, serviceName);
+            TrustHelloService proxy = (TrustHelloService) service.getPort(TrustHelloService.class);
+
+            final QName stsServiceName = new QName("http://docs.oasis-open.org/ws-sx/ws-trust/200512/", "SecurityTokenService");
+            final QName stsPortName = new QName("http://docs.oasis-open.org/ws-sx/ws-trust/200512/", "UT_Port");
+
+            String stsURL = QuarkusCxfClientTestUtil.getServerUrl()
+                    + "/soapservice/jaxws-samples-wsse-policy-trust-sts/SecurityTokenService?wsdl";
+            setupWsseAndSTSClient(proxy, bus, stsURL, stsServiceName, stsPortName);
+
+            Assertions.assertThat(proxy.sayHello()).isEqualTo("WS-Trust Hello World!");
+        } finally {
+            bus.shutdown(true);
+        }
+
+    }
+
+    public static void setupWsseAndSTSClient(TrustHelloService proxy, Bus bus, String stsWsdlLocation, QName stsService,
+            QName stsPort) {
+        Map<String, Object> ctx = ((BindingProvider) proxy).getRequestContext();
+        setServiceContextAttributes(ctx);
+        ctx.put(SecurityConstants.STS_CLIENT, createSTSClient(bus, stsWsdlLocation, stsService, stsPort));
+    }
+
+    private static void setServiceContextAttributes(Map<String, Object> ctx) {
+        ctx.put(SecurityConstants.CALLBACK_HANDLER, new ClientCallbackHandler());
+        ctx.put(SecurityConstants.SIGNATURE_PROPERTIES,
+                Thread.currentThread().getContextClassLoader().getResource("clientKeystore.properties"));
+        ctx.put(SecurityConstants.ENCRYPT_PROPERTIES,
+                Thread.currentThread().getContextClassLoader().getResource("clientKeystore.properties"));
+        ctx.put(SecurityConstants.SIGNATURE_USERNAME, "myclientkey");
+        ctx.put(SecurityConstants.ENCRYPT_USERNAME, "myservicekey");
+    }
+
+    /**
+     * Create and configure an STSClient for use by service TrustHelloServiceImpl.
+     *
+     * Whenever an "<sp:IssuedToken>" policy is configured on a WSDL port, as is the
+     * case for TrustHelloServiceImpl, a STSClient must be created and configured in
+     * order for the service to connect to the STS-server to obtain a token.
+     *
+     * @param  bus
+     * @param  stsWsdlLocation
+     * @param  stsService
+     * @param  stsPort
+     * @return
+     */
+    private static STSClient createSTSClient(Bus bus, String stsWsdlLocation, QName stsService, QName stsPort) {
+        STSClient stsClient = new STSClient(bus);
+        if (stsWsdlLocation != null) {
+            stsClient.setWsdlLocation(stsWsdlLocation);
+            stsClient.setServiceQName(stsService);
+            stsClient.setEndpointQName(stsPort);
+        }
+        Map<String, Object> props = stsClient.getProperties();
+        props.put(SecurityConstants.USERNAME, "alice");
+        props.put(SecurityConstants.CALLBACK_HANDLER, new ClientCallbackHandler());
+        props.put(SecurityConstants.ENCRYPT_PROPERTIES,
+                Thread.currentThread().getContextClassLoader().getResource("clientKeystore.properties"));
+        props.put(SecurityConstants.ENCRYPT_USERNAME, "mystskey");
+        props.put(SecurityConstants.STS_TOKEN_USERNAME, "myclientkey");
+        props.put(SecurityConstants.STS_TOKEN_PROPERTIES,
+                Thread.currentThread().getContextClassLoader().getResource("clientKeystore.properties"));
+        props.put(SecurityConstants.STS_TOKEN_USE_CERT_FOR_KEYINFO, "true");
+        return stsClient;
+    }
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/resources/clientKeystore.properties b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/resources/clientKeystore.properties
new file mode 100644
index 0000000000..f864336040
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/resources/clientKeystore.properties
@@ -0,0 +1,40 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+#
+# 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.
+#
+org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
+org.apache.ws.security.crypto.merlin.keystore.type=jks
+org.apache.ws.security.crypto.merlin.keystore.password=cspass
+org.apache.ws.security.crypto.merlin.keystore.alias=myclientkey
+org.apache.ws.security.crypto.merlin.keystore.file=clientstore.jks
+
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/resources/clientstore.jks b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/resources/clientstore.jks
new file mode 100644
index 0000000000..5c48cb437d
Binary files /dev/null and b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/resources/clientstore.jks differ
diff --git a/integration-test-groups/cxf-soap/pom.xml b/integration-test-groups/cxf-soap/pom.xml
index 5c6dba708a..05fa61e59d 100644
--- a/integration-test-groups/cxf-soap/pom.xml
+++ b/integration-test-groups/cxf-soap/pom.xml
@@ -43,6 +43,7 @@
         <module>cxf-soap-server</module>
         <module>cxf-soap-ws-security-client</module>
         <module>cxf-soap-ws-security-server</module>
+        <module>cxf-soap-ws-trust</module>
     </modules>
 
 </project>
diff --git a/integration-tests/cxf-soap-grouped/pom.xml b/integration-tests/cxf-soap-grouped/pom.xml
index 5f78fd1813..e639685990 100644
--- a/integration-tests/cxf-soap-grouped/pom.xml
+++ b/integration-tests/cxf-soap-grouped/pom.xml
@@ -44,10 +44,18 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-cxf-soap</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.quarkiverse.cxf</groupId>
+            <artifactId>quarkus-cxf-rt-features-logging</artifactId>
+        </dependency>
         <dependency>
             <groupId>io.quarkiverse.cxf</groupId>
             <artifactId>quarkus-cxf-rt-ws-security</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.quarkiverse.cxf</groupId>
+            <artifactId>quarkus-cxf-services-sts</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.apache.cxf.xjc-utils</groupId>
             <artifactId>cxf-xjc-runtime</artifactId>
@@ -106,6 +114,230 @@
 
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>keytool-maven-plugin</artifactId>
+                <configuration>
+                    <keypass>password</keypass>
+                    <validity>365</validity>
+                    <keyalg>RSA</keyalg>
+                    <storepass>password</storepass>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>generate-cxfca-keypair</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>clean</goal>
+                            <goal>generateKeyPair</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <dname>CN=cxfca, OU=eng, O=apache.org</dname>
+                            <exts>
+                                <ext>bc:c=ca:true,pathlen:2147483647</ext>
+                                <ext>IssuerAlternativeName=DNS:NOT-FOR-PRODUCTION-USE</ext>
+                            </exts>
+                            <keystore>${project.build.outputDirectory}/cxfca.jks</keystore>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>export-cxfca-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>exportCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <keystore>${project.build.outputDirectory}/cxfca.jks</keystore>
+                            <rfc>true</rfc>
+                            <file>${project.build.outputDirectory}/cxfca.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-alice-keypair</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>clean</goal>
+                            <goal>generateKeyPair</goal>
+                        </goals>
+                        <configuration>
+                            <alias>alice</alias>
+                            <dname>CN=alice, OU=eng, O=apache.org</dname>
+                            <exts>
+                                <ext>IssuerAlternativeName=DNS:NOT-FOR-PRODUCTION-USE</ext>
+                                <ext>SubjectAlternativeName=DNS:localhost,IP:127.0.0.1</ext>
+                            </exts>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-bob-keypair</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>clean</goal>
+                            <goal>generateKeyPair</goal>
+                        </goals>
+                        <configuration>
+                            <alias>bob</alias>
+                            <dname>CN=bob, OU=eng, O=apache.org</dname>
+                            <exts>
+                                <ext>IssuerAlternativeName=DNS:NOT-FOR-PRODUCTION-USE</ext>
+                                <ext>SubjectAlternativeName=DNS:localhost,IP:127.0.0.1</ext>
+                            </exts>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-alice-certificate-request</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>generateCertificateRequest</goal>
+                        </goals>
+                        <configuration>
+                            <alias>alice</alias>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                            <file>${project.build.outputDirectory}/alice.csr</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-alice-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>generateCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <keystore>${project.build.outputDirectory}/cxfca.jks</keystore>
+                            <rfc>true</rfc>
+                            <infile>${project.build.outputDirectory}/alice.csr</infile>
+                            <outfile>${project.build.outputDirectory}/alice.pem</outfile>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-bob-certificate-request</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>generateCertificateRequest</goal>
+                        </goals>
+                        <configuration>
+                            <alias>bob</alias>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                            <file>${project.build.outputDirectory}/bob.csr</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-bob-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>generateCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <keystore>${project.build.outputDirectory}/cxfca.jks</keystore>
+                            <rfc>true</rfc>
+                            <infile>${project.build.outputDirectory}/bob.csr</infile>
+                            <outfile>${project.build.outputDirectory}/bob.pem</outfile>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-cxfca-certificate-to-alice</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                            <file>${project.build.outputDirectory}/cxfca.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-cxfca-certificate-to-bob</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>cxfca</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                            <file>${project.build.outputDirectory}/cxfca.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-alice-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>alice</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                            <file>${project.build.outputDirectory}/alice.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-bob-certificate</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>bob</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                            <file>${project.build.outputDirectory}/bob.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-bob-certificate-to-alice</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>bob</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/alice.jks</keystore>
+                            <file>${project.build.outputDirectory}/bob.pem</file>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>import-alice-certificate-to-bob</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>importCertificate</goal>
+                        </goals>
+                        <configuration>
+                            <alias>alice</alias>
+                            <trustcacerts>true</trustcacerts>
+                            <noprompt>true</noprompt>
+                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>
+                            <file>${project.build.outputDirectory}/alice.pem</file>
+                        </configuration>
+                    </execution>
+<!--                Uncomment execution block below for local testing -->
+<!--                    <execution>-->
+<!--                        <id>list</id>-->
+<!--                        <phase>generate-sources</phase>-->
+<!--                        <goals>-->
+<!--                            <goal>list</goal>-->
+<!--                        </goals>-->
+<!--                        <configuration>-->
+<!--                            <verbose>true</verbose>-->
+<!--                            <keystore>${project.build.outputDirectory}/bob.jks</keystore>-->
+<!--                        </configuration>-->
+<!--                    </execution>-->
+                </executions>
+            </plugin>
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>build-helper-maven-plugin</artifactId>


[camel-quarkus] 04/08: WS-Trust workaround for #4291 SoapFault: BSP:R3227: A SECURITY_HEADER MUST NOT contain more than one TIMESTAMP

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

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 13309c1e404ba8f7f27d6983ad080184a20f5fb5
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Tue Nov 22 18:01:28 2022 +0100

    WS-Trust workaround for #4291 SoapFault: BSP:R3227: A SECURITY_HEADER
    MUST NOT contain more than one TIMESTAMP
---
 .../cxf-soap/cxf-soap-ws-trust/pom.xml             | 21 ++++++++++-
 .../soap/it/ws/trust/server/StsLoggingFeature.java | 33 +++++++++++++++++
 .../server/cxf/way/TrustHelloServiceCxfWay.java    | 34 +++++++++++++++++
 .../cxf/way/TrustHelloServiceCxfWayImpl.java       | 43 ++++++++++++++++++++++
 .../server/cxf/way/WsTrustServerRoutesCxfWay.java  | 34 +++++++++++++++++
 .../cxf/soap/it/ws/trust/sts/SampleSTS.java        |  1 +
 .../src/main/resources/application.properties      |  7 ++--
 .../cxf/soap/it/ws/trust/CxfWsTrustTest.java       |  2 +
 .../it/ws/trust/cxf/way/CxfWsTrustCxfWayIT.java    | 24 ++++++++++++
 .../way/CxfWsTrustCxfWayTest.java}                 | 19 +++++-----
 10 files changed, 203 insertions(+), 15 deletions(-)

diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/pom.xml b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/pom.xml
index bd2e3516dc..2906f58832 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/pom.xml
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
         <artifactId>camel-quarkus-build-parent-it</artifactId>
-        <version>2.14.0-SNAPSHOT</version>
+        <version>2.13.2-SNAPSHOT</version>
         <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
     </parent>
 
@@ -35,6 +35,10 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-cxf-soap</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-direct</artifactId>
+        </dependency>
         <dependency>
             <groupId>io.quarkiverse.cxf</groupId>
             <artifactId>quarkus-cxf-services-sts</artifactId>
@@ -117,6 +121,19 @@
                         </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>
             </dependencies>
         </profile>
         <profile>
@@ -132,4 +149,4 @@
         </profile>
     </profiles>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/StsLoggingFeature.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/StsLoggingFeature.java
new file mode 100644
index 0000000000..c180a4387d
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/StsLoggingFeature.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 org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server;
+
+import javax.enterprise.context.ApplicationScoped;
+
+import io.quarkus.arc.Unremovable;
+import org.apache.cxf.ext.logging.LoggingFeature;
+
+@ApplicationScoped
+@Unremovable
+public class StsLoggingFeature extends LoggingFeature {
+
+    public StsLoggingFeature() {
+        super();
+        this.setPrettyLogging(true);
+    }
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/TrustHelloServiceCxfWay.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/TrustHelloServiceCxfWay.java
new file mode 100644
index 0000000000..252bfd0ff9
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/TrustHelloServiceCxfWay.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.cxf.way;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+import org.apache.cxf.annotations.Policies;
+import org.apache.cxf.annotations.Policy;
+
+@WebService(targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust")
+@Policy(placement = Policy.Placement.BINDING, uri = "classpath:/AsymmetricSAML2Policy.xml")
+public interface TrustHelloServiceCxfWay {
+    @WebMethod
+    @Policies({
+            @Policy(placement = Policy.Placement.BINDING_OPERATION_INPUT, uri = "classpath:/Input_Policy.xml"),
+            @Policy(placement = Policy.Placement.BINDING_OPERATION_OUTPUT, uri = "classpath:/Output_Policy.xml")
+    })
+    String sayHello();
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/TrustHelloServiceCxfWayImpl.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/TrustHelloServiceCxfWayImpl.java
new file mode 100644
index 0000000000..c65e173292
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/TrustHelloServiceCxfWayImpl.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.cxf.way;
+
+import javax.inject.Inject;
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+import org.apache.camel.ProducerTemplate;
+import org.apache.cxf.annotations.EndpointProperties;
+import org.apache.cxf.annotations.EndpointProperty;
+
+@WebService(portName = "TrustHelloServicePort", serviceName = "TrustHelloServiceCxfWay", wsdlLocation = "TrustHelloService.wsdl", targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust", endpointInterface = "org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.cxf.way.TrustHelloServiceCxfWay")
+@EndpointProperties(value = {
+        @EndpointProperty(key = "ws-security.signature.username", value = "myservicekey"),
+        @EndpointProperty(key = "ws-security.signature.properties", value = "serviceKeystore.properties"),
+        @EndpointProperty(key = "ws-security.encryption.properties", value = "serviceKeystore.properties"),
+        @EndpointProperty(key = "ws-security.callback-handler", value = "org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.ServerCallbackHandler")
+})
+public class TrustHelloServiceCxfWayImpl implements TrustHelloServiceCxfWay {
+
+    @Inject
+    ProducerTemplate producerTemplate;
+
+    @WebMethod
+    public String sayHello() {
+        return producerTemplate.requestBody("direct:wsTrustCxfWay", null, String.class);
+    }
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/WsTrustServerRoutesCxfWay.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/WsTrustServerRoutesCxfWay.java
new file mode 100644
index 0000000000..417beb0c82
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/server/cxf/way/WsTrustServerRoutesCxfWay.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.cxf.way;
+
+import javax.enterprise.context.ApplicationScoped;
+
+import org.apache.camel.builder.RouteBuilder;
+
+@ApplicationScoped
+public class WsTrustServerRoutesCxfWay extends RouteBuilder {
+
+    @Override
+    public void configure() {
+
+        from("direct:wsTrustCxfWay")
+                .setBody().constant("WS-Trust Hello World, CXF way!");
+
+    }
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/SampleSTS.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/SampleSTS.java
index 0ad041d4eb..9a983f44ba 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/SampleSTS.java
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/sts/SampleSTS.java
@@ -63,6 +63,7 @@ public class SampleSTS extends SecurityTokenServiceProvider {
                 : config.getValue("quarkus.http.port", Integer.class);
         service.setEndpoints(Arrays.asList(
                 "http://localhost:" + port + "/soapservice/jaxws-samples-wsse-policy-trust/TrustHelloService",
+                "http://localhost:" + port + "/soapservice/jaxws-samples-wsse-policy-trust-cxf-way/TrustHelloServiceCxfWay",
                 "http://localhost:" + port + "/soapservice/jaxws-samples-wsse-policy-trust-actas/ActAsService",
                 "http://localhost:" + port + "/soapservice/jaxws-samples-wsse-policy-trust-onbehalfof/OnBehalfOfService"));
         services.add(service);
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/application.properties b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/application.properties
index 2652146673..98c1825180 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/application.properties
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/main/resources/application.properties
@@ -17,9 +17,8 @@
 quarkus.cxf.path=/soapservice
 
 quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust-sts".implementor=org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.sts.SampleSTS
-quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust-sts".features=org.apache.cxf.ext.logging.LoggingFeature
+quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust-sts".features=org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.StsLoggingFeature
 
-#quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust".implementor=org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.TrustHelloServiceImpl
-#quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust".features=org.apache.cxf.ext.logging.LoggingFeature
+quarkus.cxf.endpoint."/jaxws-samples-wsse-policy-trust-cxf-way".implementor=org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.cxf.way.TrustHelloServiceCxfWayImpl
 
-quarkus.native.resources.includes=*.properties,*.jks,*.wsdl,*.xml
+quarkus.native.resources.includes=*.properties,*.jks,*.wsdl,*.xml,*.xsd
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java
index 0c1b496f66..fddea2dacb 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java
@@ -35,6 +35,7 @@ import org.apache.cxf.ws.security.trust.STSClient;
 import org.assertj.core.api.Assertions;
 import org.hamcrest.CoreMatchers;
 import org.hamcrest.Matchers;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import static io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.anyNs;
@@ -89,6 +90,7 @@ public class CxfWsTrustTest {
     }
 
     @Test
+    @Disabled("https://github.com/apache/camel-quarkus/issues/4291")
     public void programmaticSts() throws Exception {
         Bus bus = BusFactory.newInstance().createBus();
         try {
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/cxf/way/CxfWsTrustCxfWayIT.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/cxf/way/CxfWsTrustCxfWayIT.java
new file mode 100644
index 0000000000..5e644ea85d
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/cxf/way/CxfWsTrustCxfWayIT.java
@@ -0,0 +1,24 @@
+/*
+ * 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.ws.trust.cxf.way;
+
+import io.quarkus.test.junit.QuarkusIntegrationTest;
+
+@QuarkusIntegrationTest
+public class CxfWsTrustCxfWayIT extends CxfWsTrustCxfWayTest {
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/cxf/way/CxfWsTrustCxfWayTest.java
similarity index 92%
copy from integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java
copy to integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/cxf/way/CxfWsTrustCxfWayTest.java
index 0c1b496f66..6753f825e7 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/CxfWsTrustTest.java
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-trust/src/test/java/org/apache/camel/quarkus/component/cxf/soap/it/ws/trust/cxf/way/CxfWsTrustCxfWayTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.cxf.soap.it.ws.trust;
+package org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.cxf.way;
 
 import java.net.URL;
 import java.util.Map;
@@ -27,7 +27,8 @@ import io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import io.restassured.config.RestAssuredConfig;
-import org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.TrustHelloService;
+import org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.ClientCallbackHandler;
+import org.apache.camel.quarkus.component.cxf.soap.it.ws.trust.server.cxf.way.TrustHelloServiceCxfWay;
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.ws.security.SecurityConstants;
@@ -41,7 +42,7 @@ import static io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.anyNs;
 import static io.restassured.RestAssured.given;
 
 @QuarkusTest
-public class CxfWsTrustTest {
+public class CxfWsTrustCxfWayTest {
 
     /**
      * Make sure the ws-trust-1.4-service.wsdl file is served
@@ -68,7 +69,7 @@ public class CxfWsTrustTest {
         config.getXmlConfig().namespaceAware(false);
         given()
                 .config(config)
-                .when().get("/soapservice/jaxws-samples-wsse-policy-trust?wsdl")
+                .when().get("/soapservice/jaxws-samples-wsse-policy-trust-cxf-way?wsdl")
                 .then()
                 .statusCode(200)
                 .body(
@@ -95,11 +96,11 @@ public class CxfWsTrustTest {
             BusFactory.setThreadDefaultBus(bus);
 
             final QName serviceName = new QName("https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust",
-                    "TrustHelloService");
+                    "TrustHelloServiceCxfWay");
             final URL wsdlURL = new URL(io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.getServerUrl()
-                    + "/soapservice/jaxws-samples-wsse-policy-trust/TrustHelloService?wsdl");
+                    + "/soapservice/jaxws-samples-wsse-policy-trust-cxf-way/TrustHelloServiceCxfWay?wsdl");
             Service service = Service.create(wsdlURL, serviceName);
-            TrustHelloService proxy = (TrustHelloService) service.getPort(TrustHelloService.class);
+            TrustHelloServiceCxfWay proxy = service.getPort(TrustHelloServiceCxfWay.class);
 
             final QName stsServiceName = new QName("http://docs.oasis-open.org/ws-sx/ws-trust/200512/", "SecurityTokenService");
             final QName stsPortName = new QName("http://docs.oasis-open.org/ws-sx/ws-trust/200512/", "UT_Port");
@@ -108,14 +109,14 @@ public class CxfWsTrustTest {
                     + "/soapservice/jaxws-samples-wsse-policy-trust-sts/SecurityTokenService?wsdl";
             setupWsseAndSTSClient(proxy, bus, stsURL, stsServiceName, stsPortName);
 
-            Assertions.assertThat(proxy.sayHello()).isEqualTo("WS-Trust Hello World!");
+            Assertions.assertThat(proxy.sayHello()).isEqualTo("WS-Trust Hello World, CXF way!");
         } finally {
             bus.shutdown(true);
         }
 
     }
 
-    public static void setupWsseAndSTSClient(TrustHelloService proxy, Bus bus, String stsWsdlLocation, QName stsService,
+    public static void setupWsseAndSTSClient(TrustHelloServiceCxfWay proxy, Bus bus, String stsWsdlLocation, QName stsService,
             QName stsPort) {
         Map<String, Object> ctx = ((BindingProvider) proxy).getRequestContext();
         setServiceContextAttributes(ctx);


[camel-quarkus] 02/08: Show a workaround for #4291 SoapFault: BSP:R3227: A SECURITY_HEADER MUST NOT contain more than one TIMESTAMP

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

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 6f9e37c68d83a63858cd515f6b521129404f562a
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Tue Nov 22 15:06:58 2022 +0100

    Show a workaround for #4291 SoapFault: BSP:R3227: A SECURITY_HEADER MUST
    NOT contain more than one TIMESTAMP
---
 .../cxf-soap-ws-security-server/README.adoc        | 19 ++++++++++
 .../cxf-soap/cxf-soap-ws-security-server/pom.xml   | 17 +++++++++
 .../way/it/WsSecurityPolicyServerRoutesCxfWay.java | 33 ++++++++++++++++
 .../it/WssSecurityPolicyHelloServiceCxfWay.java    | 27 +++++++++++++
 .../WssSecurityPolicyHelloServiceCxfWayImpl.java   | 44 ++++++++++++++++++++++
 .../src/main/resources/application.properties      |  2 +
 .../way/it/CxfWssSecurityPolicyServerCxfWayIT.java | 24 ++++++++++++
 .../it/CxfWssSecurityPolicyServerCxfWayTest.java}  | 17 +++++----
 .../server/it/CxfWssSecurityPolicyServerTest.java  |  2 +
 integration-tests/cxf-soap-grouped/pom.xml         | 13 +++++++
 10 files changed, 190 insertions(+), 8 deletions(-)

diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/README.adoc b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/README.adoc
new file mode 100644
index 0000000000..f5a485d1ac
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/README.adoc
@@ -0,0 +1,19 @@
+
+= WS-Security and WS-SecurityPolicy tests
+
+== WS-SecurityPolicy
+
+We test in two ways how the SOAP service endpoints are deployed: the Camel way and the Quariverse CXF way.
+
+=== The Camel way
+
+* I.e. there is a Camel route with `from("cxf:...")`
+* See `WsSecurityPolicyServerRoutes` and `WssSecurityPolicyHelloServiceImpl`
+
+=== The Quariverse CXF way
+
+* I.e. they are mapped to an URI path via Quariverse CXF settings in `application.properties`
+* The service method then forwards to a Camel route defined in `WsSecurityPolicyServerRoutesCxfWay`
+* See also `WssSecurityPolicyHelloServiceCxfWayImpl`
+* This way may come in handy in situations when the Camel way does not work properly,
+  such as https://github.com/apache/camel-quarkus/issues/4291
\ No newline at end of file
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/pom.xml b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/pom.xml
index 72dfc1f8d0..f5816fc6da 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/pom.xml
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/pom.xml
@@ -35,6 +35,10 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-cxf-soap</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-direct</artifactId>
+        </dependency>
         <dependency>
             <groupId>io.quarkiverse.cxf</groupId>
             <artifactId>quarkus-cxf-rt-ws-security</artifactId>
@@ -346,6 +350,19 @@
                         </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>
             </dependencies>
         </profile>
         <profile>
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WsSecurityPolicyServerRoutesCxfWay.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WsSecurityPolicyServerRoutesCxfWay.java
new file mode 100644
index 0000000000..48e5320c54
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WsSecurityPolicyServerRoutesCxfWay.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 org.apache.camel.quarkus.component.cxf.soap.securitypolicy.server.cxf.way.it;
+
+import javax.enterprise.context.ApplicationScoped;
+
+import org.apache.camel.builder.RouteBuilder;
+
+@ApplicationScoped
+public class WsSecurityPolicyServerRoutesCxfWay extends RouteBuilder {
+
+    @Override
+    public void configure() {
+        from("direct:wsSecurityPolicyCxfWay")
+                .setBody(exchange -> "SecurityPolicy hello " + exchange.getMessage().getBody(String.class) + " CXF way");
+
+    }
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WssSecurityPolicyHelloServiceCxfWay.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WssSecurityPolicyHelloServiceCxfWay.java
new file mode 100644
index 0000000000..f6a1601102
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WssSecurityPolicyHelloServiceCxfWay.java
@@ -0,0 +1,27 @@
+/*
+ * 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.securitypolicy.server.cxf.way.it;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+@WebService(targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/ws-securitypolicy")
+public interface WssSecurityPolicyHelloServiceCxfWay {
+
+    @WebMethod
+    String sayHello(String name);
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WssSecurityPolicyHelloServiceCxfWayImpl.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WssSecurityPolicyHelloServiceCxfWayImpl.java
new file mode 100644
index 0000000000..857c7af315
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/WssSecurityPolicyHelloServiceCxfWayImpl.java
@@ -0,0 +1,44 @@
+/*
+ * 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.securitypolicy.server.cxf.way.it;
+
+import javax.inject.Inject;
+import javax.jws.WebService;
+
+import org.apache.camel.ProducerTemplate;
+import org.apache.cxf.annotations.EndpointProperties;
+import org.apache.cxf.annotations.EndpointProperty;
+import org.apache.cxf.annotations.Policy;
+
+@WebService(portName = "EncryptSecurityServicePort", serviceName = "WssSecurityPolicyHelloServiceCxfWay", targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/ws-securitypolicy", endpointInterface = "org.apache.camel.quarkus.component.cxf.soap.securitypolicy.server.cxf.way.it.WssSecurityPolicyHelloServiceCxfWay")
+@Policy(placement = Policy.Placement.BINDING, uri = "encrypt-sign-policy.xml")
+@EndpointProperties(value = {
+        @EndpointProperty(key = "ws-security.signature.properties", value = "bob.properties"),
+        @EndpointProperty(key = "ws-security.encryption.properties", value = "bob.properties"),
+        @EndpointProperty(key = "ws-security.signature.username", value = "bob"),
+        @EndpointProperty(key = "ws-security.encryption.username", value = "alice"),
+        @EndpointProperty(key = "ws-security.callback-handler", value = "org.apache.camel.quarkus.component.cxf.soap.securitypolicy.server.it.PasswordCallbackHandler")
+})
+public class WssSecurityPolicyHelloServiceCxfWayImpl implements WssSecurityPolicyHelloServiceCxfWay {
+
+    @Inject
+    ProducerTemplate producerTemplate;
+
+    public String sayHello(String name) {
+        return producerTemplate.requestBody("direct:wsSecurityPolicyCxfWay", name, String.class);
+    }
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
index 7ca94be086..b562d19234 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/main/resources/application.properties
@@ -17,4 +17,6 @@
 
 quarkus.cxf.path=/soapservice
 
+quarkus.cxf.endpoint."/security-policy-hello-cxf-way".implementor=org.apache.camel.quarkus.component.cxf.soap.securitypolicy.server.cxf.way.it.WssSecurityPolicyHelloServiceCxfWayImpl
+
 quarkus.native.resources.includes=bob.properties,alice.properties,alice.jks,bob.jks,encrypt-sign-policy.xml
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/CxfWssSecurityPolicyServerCxfWayIT.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/CxfWssSecurityPolicyServerCxfWayIT.java
new file mode 100644
index 0000000000..204192b390
--- /dev/null
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/CxfWssSecurityPolicyServerCxfWayIT.java
@@ -0,0 +1,24 @@
+/*
+ * 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.securitypolicy.server.cxf.way.it;
+
+import io.quarkus.test.junit.QuarkusIntegrationTest;
+
+@QuarkusIntegrationTest
+public class CxfWssSecurityPolicyServerCxfWayIT extends CxfWssSecurityPolicyServerCxfWayTest {
+
+}
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/CxfWssSecurityPolicyServerCxfWayTest.java
similarity index 96%
copy from integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java
copy to integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/CxfWssSecurityPolicyServerCxfWayTest.java
index 7a0fd487bb..3bd067863d 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/cxf/way/it/CxfWssSecurityPolicyServerCxfWayTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.cxf.soap.securitypolicy.server.it;
+package org.apache.camel.quarkus.component.cxf.soap.securitypolicy.server.cxf.way.it;
 
 import java.io.IOException;
 import java.util.Map;
@@ -25,6 +25,7 @@ import io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import io.restassured.config.RestAssuredConfig;
+import org.apache.camel.quarkus.component.cxf.soap.securitypolicy.server.it.PasswordCallbackHandler;
 import org.apache.cxf.ws.security.SecurityConstants;
 import org.assertj.core.api.Assertions;
 import org.hamcrest.CoreMatchers;
@@ -35,11 +36,11 @@ import static io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.anyNs;
 import static io.restassured.RestAssured.given;
 
 @QuarkusTest
-public class CxfWssSecurityPolicyServerTest {
+public class CxfWssSecurityPolicyServerCxfWayTest {
 
     @Test
     void encrypetdSigned() throws IOException {
-        WssSecurityPolicyHelloService client = getPlainClient();
+        WssSecurityPolicyHelloServiceCxfWay client = getPlainClient();
 
         Map<String, Object> ctx = ((BindingProvider) client).getRequestContext();
         ctx.put(SecurityConstants.CALLBACK_HANDLER, new PasswordCallbackHandler());
@@ -50,12 +51,12 @@ public class CxfWssSecurityPolicyServerTest {
         ctx.put(SecurityConstants.ENCRYPT_PROPERTIES,
                 Thread.currentThread().getContextClassLoader().getResource("alice.properties"));
 
-        Assertions.assertThat(client.sayHello("foo")).isEqualTo("Secure Hello foo!");
+        Assertions.assertThat(client.sayHello("foo")).isEqualTo("SecurityPolicy hello foo CXF way");
     }
 
     @Test
     void noSecurityConfig() throws IOException {
-        WssSecurityPolicyHelloService client = getPlainClient();
+        WssSecurityPolicyHelloServiceCxfWay client = getPlainClient();
         /* Make sure that it fails properly when called without a password */
         Assertions.assertThatExceptionOfType(javax.xml.ws.soap.SOAPFaultException.class)
                 .isThrownBy(() -> client.sayHello("bar"))
@@ -205,10 +206,10 @@ public class CxfWssSecurityPolicyServerTest {
                                 CoreMatchers.is("SecurityServiceEncryptThenSignPolicy")));
     }
 
-    WssSecurityPolicyHelloService getPlainClient() {
+    WssSecurityPolicyHelloServiceCxfWay getPlainClient() {
         return QuarkusCxfClientTestUtil.getClient(
                 "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/ws-securitypolicy",
-                WssSecurityPolicyHelloService.class,
-                "/soapservice/security-policy-hello");
+                WssSecurityPolicyHelloServiceCxfWay.class,
+                "/soapservice/security-policy-hello-cxf-way");
     }
 }
diff --git a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java
index 7a0fd487bb..2bf6366da2 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java
+++ b/integration-test-groups/cxf-soap/cxf-soap-ws-security-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/securitypolicy/server/it/CxfWssSecurityPolicyServerTest.java
@@ -29,6 +29,7 @@ import org.apache.cxf.ws.security.SecurityConstants;
 import org.assertj.core.api.Assertions;
 import org.hamcrest.CoreMatchers;
 import org.hamcrest.Matchers;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import static io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.anyNs;
@@ -38,6 +39,7 @@ import static io.restassured.RestAssured.given;
 public class CxfWssSecurityPolicyServerTest {
 
     @Test
+    @Disabled("https://github.com/apache/camel-quarkus/issues/4291")
     void encrypetdSigned() throws IOException {
         WssSecurityPolicyHelloService client = getPlainClient();
 
diff --git a/integration-tests/cxf-soap-grouped/pom.xml b/integration-tests/cxf-soap-grouped/pom.xml
index 842e3fa584..5f78fd1813 100644
--- a/integration-tests/cxf-soap-grouped/pom.xml
+++ b/integration-tests/cxf-soap-grouped/pom.xml
@@ -231,6 +231,19 @@
             </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-bean-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-cxf-soap-deployment</artifactId>


[camel-quarkus] 08/08: Test Java first CXF server endpoint with multiple SEI methods #4306

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

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 1db470c2a8581189e883382e2ee9d77bc2318b52
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Wed Nov 30 14:11:57 2022 +0100

    Test Java first CXF server endpoint with multiple SEI methods #4306
---
 .../cxf/soap/server/it}/CodeFirstService.java      | 15 ++++++--
 .../cxf/soap/server/it/CxfSoapRoutes.java          | 13 ++++++-
 .../cxf/soap/server/it/CxfSoapServiceTest.java     | 43 ++++++++++++++--------
 3 files changed, 50 insertions(+), 21 deletions(-)

diff --git a/integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java b/integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CodeFirstService.java
similarity index 62%
rename from integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java
rename to integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CodeFirstService.java
index c3fc931c12..245e0e210b 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/com/helloworld/service/CodeFirstService.java
+++ b/integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CodeFirstService.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.helloworld.service;
+package org.apache.camel.quarkus.component.cxf.soap.server.it;
 
 import javax.jws.WebMethod;
 import javax.jws.WebParam;
@@ -23,11 +23,18 @@ import javax.jws.WebService;
 import javax.jws.soap.SOAPBinding;
 import javax.jws.soap.SOAPBinding.ParameterStyle;
 
-@WebService(targetNamespace = "http://www.helloworld.com/CodeFirstService/", name = "CodeFirstService")
+@WebService(targetNamespace = CodeFirstService.TARGET_NS, name = "CodeFirstService", serviceName = "CodeFirstService")
 @SOAPBinding(parameterStyle = ParameterStyle.BARE)
 public interface CodeFirstService {
+    public static final String TARGET_NS = "http://www.helloworld.com/CodeFirstService/";
+
     @WebMethod(operationName = "Hello", action = "https://www.helloworld.com/CodeFirstService/Hello")
-    @WebResult(name = "HelloResponse", targetNamespace = "http://www.helloworld.com/CodeFirstService/")
+    @WebResult(name = "HelloResponse", targetNamespace = TARGET_NS)
     String hello(
-            @WebParam(name = "HelloRequest", targetNamespace = "http://www.helloworld.com/CodeFirstService/") String var1);
+            @WebParam(name = "HelloRequest", targetNamespace = TARGET_NS) String var1);
+
+    @WebMethod(operationName = "GoodBye", action = "https://www.helloworld.com/CodeFirstService/GoodBye")
+    @WebResult(name = "GoodByeResponse", targetNamespace = TARGET_NS)
+    String goodBye(
+            @WebParam(name = "GoodByeRequest", targetNamespace = TARGET_NS) String var1);
 }
diff --git a/integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CxfSoapRoutes.java b/integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CxfSoapRoutes.java
index 46fa8ad7a0..45e09365a7 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CxfSoapRoutes.java
+++ b/integration-test-groups/cxf-soap/cxf-soap-server/src/main/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CxfSoapRoutes.java
@@ -30,7 +30,6 @@ import javax.xml.xpath.XPathConstants;
 
 import org.w3c.dom.Element;
 
-import com.helloworld.service.CodeFirstService;
 import com.helloworld.service.HelloPortType;
 import com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl;
 import org.apache.camel.builder.RouteBuilder;
@@ -67,7 +66,17 @@ public class CxfSoapRoutes extends RouteBuilder {
                         .setBody().simple("Hello ${body} from CXF service");
 
         from("cxf:bean:codeFirstServiceEndpoint")
-                .setBody().constant("Hello CamelQuarkusCXF");
+                .choice()
+                .when(simple("${header.operationName} == 'Hello'"))
+                .setBody().simple("Hello ${body} code first")
+                .endChoice()
+                .when(simple("${header.operationName} == 'GoodBye'"))
+                .setBody().simple("Good bye ${body} code first")
+                .endChoice()
+                .otherwise()
+                .process(e -> {
+                    throw new IllegalStateException("Unexpected operation " + e.getMessage().getHeader("operationName"));
+                });
 
         from("cxf:bean:echoServiceResponseFromRouteCxfMessageDataFormat")
                 .process(exchange -> {
diff --git a/integration-test-groups/cxf-soap/cxf-soap-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CxfSoapServiceTest.java b/integration-test-groups/cxf-soap/cxf-soap-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CxfSoapServiceTest.java
index 60dec478d7..79106560aa 100644
--- a/integration-test-groups/cxf-soap/cxf-soap-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CxfSoapServiceTest.java
+++ b/integration-test-groups/cxf-soap/cxf-soap-server/src/test/java/org/apache/camel/quarkus/component/cxf/soap/server/it/CxfSoapServiceTest.java
@@ -24,14 +24,18 @@ import io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil;
 import io.quarkus.runtime.LaunchMode;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
-import io.restassured.http.ContentType;
+import io.restassured.config.RestAssuredConfig;
 import org.eclipse.microprofile.config.Config;
 import org.eclipse.microprofile.config.ConfigProvider;
+import org.hamcrest.CoreMatchers;
+import org.hamcrest.Matchers;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
 
+import static io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.anyNs;
+
 @QuarkusTest
 class CxfSoapServiceTest {
 
@@ -53,24 +57,33 @@ class CxfSoapServiceTest {
     }
 
     @Test
-    public void testCodeFirstSoapService() {
+    public void codeFirstWsdl() {
 
-        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")
+        RestAssuredConfig config = RestAssured.config();
+        config.getXmlConfig().namespaceAware(false);
+        RestAssured.given()
+                .config(config)
+                .when().get("/soapservice/codefirst?wsdl")
                 .then()
                 .statusCode(200)
-                .assertThat()
-                .extract().asString();
+                .body(
+                        /* Make sure that the two operations are available in the generated WSDL */
+                        Matchers.hasXPath(
+                                anyNs("definitions", "binding", "operation")
+                                        + "[1]/@*[local-name() = 'name']",
+                                CoreMatchers.is("GoodBye")),
+                        Matchers.hasXPath(
+                                anyNs("definitions", "binding", "operation")
+                                        + "[2]/@*[local-name() = 'name']",
+                                CoreMatchers.is("Hello")));
+    }
 
-        org.junit.jupiter.api.Assertions.assertTrue(response.contains("Hello CamelQuarkusCXF"));
+    @Test
+    public void codeFirstSoapService() {
+        final CodeFirstService client = QuarkusCxfClientTestUtil.getClient(CodeFirstService.TARGET_NS, CodeFirstService.class,
+                "/soapservice/codefirst");
+        Assertions.assertEquals("Hello Joe code first", client.hello("Joe"));
+        Assertions.assertEquals("Good bye Laszlo code first", client.goodBye("Laszlo"));
     }
 
     @ParameterizedTest


[camel-quarkus] 07/08: Add quarkus-pooled-jms-deployment to camel-quarkus-bom

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

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit cb21e56678d0136e0ae672e96e94935bb80e92e9
Author: James Netherton <ja...@gmail.com>
AuthorDate: Wed Nov 30 18:49:17 2022 +0000

    Add quarkus-pooled-jms-deployment to camel-quarkus-bom
---
 poms/bom/pom.xml                                              | 5 +++++
 poms/bom/src/main/generated/flattened-full-pom.xml            | 5 +++++
 poms/bom/src/main/generated/flattened-reduced-pom.xml         | 5 +++++
 poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml | 5 +++++
 4 files changed, 20 insertions(+)

diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index c6ae782ed1..c3f2e03131 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -10017,6 +10017,11 @@
                     </exclusion>
                 </exclusions>
             </dependency>
+            <dependency>
+                <groupId>io.quarkiverse.messaginghub</groupId>
+                <artifactId>quarkus-pooled-jms-deployment</artifactId>
+                <version>${quarkiverse-pooled-jms.version}</version>
+            </dependency>
             <dependency>
                 <groupId>io.quarkiverse.minio</groupId>
                 <artifactId>quarkus-minio</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml b/poms/bom/src/main/generated/flattened-full-pom.xml
index ab60415df7..08a2850761 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -9951,6 +9951,11 @@
           </exclusion>
         </exclusions>
       </dependency>
+      <dependency>
+        <groupId>io.quarkiverse.messaginghub</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>quarkus-pooled-jms-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>1.0.6</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+      </dependency>
       <dependency>
         <groupId>io.quarkiverse.minio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>quarkus-minio</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 d6d75ed24d..e9eb8302f1 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -9951,6 +9951,11 @@
           </exclusion>
         </exclusions>
       </dependency>
+      <dependency>
+        <groupId>io.quarkiverse.messaginghub</groupId>
+        <artifactId>quarkus-pooled-jms-deployment</artifactId>
+        <version>1.0.6</version>
+      </dependency>
       <dependency>
         <groupId>io.quarkiverse.minio</groupId>
         <artifactId>quarkus-minio</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 cc692007a4..38bb405496 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -9951,6 +9951,11 @@
           </exclusion>
         </exclusions>
       </dependency>
+      <dependency>
+        <groupId>io.quarkiverse.messaginghub</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>quarkus-pooled-jms-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>1.0.6</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+      </dependency>
       <dependency>
         <groupId>io.quarkiverse.minio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>quarkus-minio</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->