├── .all-contributorsrc
├── .gitattributes
├── .github
├── CODEOWNERS
├── actions
│ ├── build-and-run-jvm-tests
│ │ └── action.yml
│ ├── integration-branch-info
│ │ └── action.yml
│ ├── rebase-integration-branch
│ │ └── action.yml
│ ├── rebuild-dependency
│ │ └── action.yml
│ └── run-native-test
│ │ └── action.yml
├── dependabot.yml
├── project.yml
├── renovate.json5
└── workflows
│ ├── build.yml
│ ├── codeql.yml
│ ├── pre-release.yml
│ ├── quarkus-snapshot.yaml
│ ├── rebase-integration-branch.yml
│ ├── release-perform.yml
│ └── release-prepare.yml
├── .gitignore
├── .mvn
├── maven-build-cache-config.xml
└── wrapper
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
├── .sdkmanrc
├── LICENSE
├── README.md
├── bom-test
└── pom.xml
├── bom
└── pom.xml
├── docs
├── README.adoc
├── antora-playbook.yml
├── antora.yml
├── modules
│ └── ROOT
│ │ ├── examples
│ │ ├── calculator-client
│ │ │ ├── CxfClientRestResource.java
│ │ │ ├── DynamicClientConfigRestResource.java
│ │ │ ├── application.properties
│ │ │ └── pom.xml
│ │ ├── client-server
│ │ │ ├── BasicAuthHelloServiceImpl.java
│ │ │ ├── MockedEndpointTest.java
│ │ │ ├── PathAnnotationHelloServiceImpl.java
│ │ │ └── application.properties
│ │ ├── hc5
│ │ │ ├── application.properties
│ │ │ └── async-binding.xml
│ │ ├── metrics
│ │ │ ├── application.properties
│ │ │ └── async-binding.xml
│ │ ├── mtls
│ │ │ ├── MutualTlsTest.java
│ │ │ └── application.properties
│ │ ├── soap-service
│ │ │ ├── Fruit.java
│ │ │ ├── FruitService.java
│ │ │ ├── FruitServiceImpl.java
│ │ │ ├── HelloService.java
│ │ │ ├── HelloServiceIT.java
│ │ │ ├── HelloServiceImpl.java
│ │ │ ├── HelloServiceTest.java
│ │ │ └── application.properties
│ │ ├── ws-security-policy
│ │ │ ├── EncryptSignPolicyHelloService.java
│ │ │ ├── HttpsPolicyHelloService.java
│ │ │ ├── UsernameTokenPasswordCallback.java
│ │ │ ├── UsernameTokenPolicyHelloService.java
│ │ │ ├── UsernameTokenTest.java
│ │ │ ├── application.properties
│ │ │ ├── encrypt-sign-policy.xml
│ │ │ ├── https-policy.xml
│ │ │ └── username-token-policy.xml
│ │ ├── ws-trust
│ │ │ ├── BeanProducers.java
│ │ │ ├── Sts.java
│ │ │ ├── TrustHelloService.java
│ │ │ ├── TrustHelloServiceImpl.java
│ │ │ ├── application.properties
│ │ │ └── asymmetric-saml2-policy.xml
│ │ └── wsdl2java
│ │ │ └── global-jaxb-bindings.xml
│ │ ├── images
│ │ ├── code-quarkus-io.png
│ │ ├── release-notes-2-10-0-since.png
│ │ └── release-notes-2-7-0-devui-services.png
│ │ ├── nav.adoc
│ │ └── pages
│ │ ├── contributor-guide
│ │ ├── index.adoc
│ │ └── releasing.adoc
│ │ ├── index.adoc
│ │ ├── reference
│ │ ├── extensions
│ │ │ ├── quarkus-cxf-integration-tracing-opentelemetry.adoc
│ │ │ ├── quarkus-cxf-jaxb-plugins.adoc
│ │ │ ├── quarkus-cxf-rt-features-metrics.adoc
│ │ │ ├── quarkus-cxf-rt-ws-rm.adoc
│ │ │ ├── quarkus-cxf-rt-ws-security.adoc
│ │ │ ├── quarkus-cxf-services-sts.adoc
│ │ │ ├── quarkus-cxf-xjc-plugins.adoc
│ │ │ └── quarkus-cxf.adoc
│ │ └── index.adoc
│ │ ├── release-notes
│ │ ├── 2.2.0.adoc
│ │ ├── 2.2.1.adoc
│ │ ├── 2.2.2.adoc
│ │ ├── 2.3.0.adoc
│ │ ├── 2.3.1.adoc
│ │ ├── 2.4.0.adoc
│ │ ├── 2.5.0.adoc
│ │ ├── 2.6.0.adoc
│ │ ├── 2.6.1.adoc
│ │ ├── 2.7.0.adoc
│ │ ├── 2.7.1.adoc
│ │ ├── 3.10.0.adoc
│ │ ├── 3.11.0.adoc
│ │ ├── 3.11.1.adoc
│ │ ├── 3.12.0.adoc
│ │ ├── 3.13.0.adoc
│ │ ├── 3.13.1.adoc
│ │ ├── 3.14.0.adoc
│ │ ├── 3.15.0.adoc
│ │ ├── 3.15.1.adoc
│ │ ├── 3.15.2.adoc
│ │ ├── 3.15.3.adoc
│ │ ├── 3.16.0.adoc
│ │ ├── 3.16.1.adoc
│ │ ├── 3.17.0.adoc
│ │ ├── 3.17.1.adoc
│ │ ├── 3.17.2.adoc
│ │ ├── 3.17.3.adoc
│ │ ├── 3.18.0.adoc
│ │ ├── 3.18.1.adoc
│ │ ├── 3.19.0.adoc
│ │ ├── 3.20.0.adoc
│ │ ├── 3.20.1.adoc
│ │ ├── 3.20.2-aggregated.adoc
│ │ ├── 3.20.2.adoc
│ │ ├── 3.21.0.adoc
│ │ ├── 3.21.1.adoc
│ │ ├── 3.22.0.adoc
│ │ ├── 3.23.0.adoc
│ │ ├── 3.23.1.adoc
│ │ ├── 3.8.0.adoc
│ │ ├── 3.8.1.adoc
│ │ ├── 3.8.2.adoc
│ │ ├── 3.8.3.adoc
│ │ ├── 3.8.4.adoc
│ │ ├── 3.8.5.adoc
│ │ ├── 3.8.6.adoc
│ │ ├── 3.8.7.adoc
│ │ ├── 3.9.0.adoc
│ │ └── index.adoc
│ │ ├── release-planning.adoc
│ │ ├── security-guide
│ │ ├── index.adoc
│ │ └── ws-securitypolicy-authentication-authorization.adoc
│ │ └── user-guide
│ │ ├── advanced-client-topics
│ │ ├── asynchronous-client.adoc
│ │ ├── cdi-scope-of-cxfclient.adoc
│ │ ├── client-endpoint-url-defaults.adoc
│ │ ├── configure-multiple-clients.adoc
│ │ ├── dynamic-client-configuration.adoc
│ │ ├── prevent-resource-leaks.adoc
│ │ ├── programmatic-client-configuration-at-startup.adoc
│ │ └── pure-client-applications.adoc
│ │ ├── advanced-service-topics.adoc
│ │ ├── advanced-service-topics
│ │ ├── endpoints-and-paths.adoc
│ │ ├── jax-ws-providers.adoc
│ │ ├── rest-and-soap-endpoints.adoc
│ │ └── running-behind-a-reverse-proxy.adoc
│ │ ├── advanced-soap-client-topics.adoc
│ │ ├── authentication-authorization.adoc
│ │ ├── camel-integration.adoc
│ │ ├── configuration.adoc
│ │ ├── contract-first-code-first.adoc
│ │ ├── contract-first-code-first
│ │ ├── generate-java-from-wsdl.adoc
│ │ └── generate-wsdl-from-java.adoc
│ │ ├── create-project.adoc
│ │ ├── examples.adoc
│ │ ├── first-soap-client.adoc
│ │ ├── first-soap-web-service.adoc
│ │ ├── index.adoc
│ │ ├── interceptors-features-handlers.adoc
│ │ ├── interceptors-features-handlers
│ │ ├── cxf-interceptors-and-features.adoc
│ │ └── jax-ws-handlers.adoc
│ │ ├── package-for-jvm-and-native.adoc
│ │ ├── payload-logging.adoc
│ │ ├── soap-payloads-with-jaxb.adoc
│ │ └── ssl-tls-https.adoc
├── pom.xml
└── src
│ ├── main
│ └── resources
│ │ ├── META-INF
│ │ └── resources
│ │ │ └── workaround-issue-39735
│ │ └── application.properties
│ └── test
│ └── java
│ └── io
│ └── quarkiverse
│ └── cxf
│ └── doc
│ └── it
│ └── AntoraTest.java
├── extensions
├── core
│ ├── axiom-api-stub
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── axiom
│ │ │ └── om
│ │ │ └── OMException.java
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── io
│ │ │ │ │ └── quarkiverse
│ │ │ │ │ └── cxf
│ │ │ │ │ ├── deployment
│ │ │ │ │ ├── AbstractEndpointBuildItem.java
│ │ │ │ │ ├── BuildTimeBusBuildItem.java
│ │ │ │ │ ├── CXFServletInfosBuildItem.java
│ │ │ │ │ ├── ClientSeiBuildItem.java
│ │ │ │ │ ├── CxfBuildTimeConfig.java
│ │ │ │ │ ├── CxfClientBuildItem.java
│ │ │ │ │ ├── CxfClientProcessor.java
│ │ │ │ │ ├── CxfDeploymentUtils.java
│ │ │ │ │ ├── CxfDotNames.java
│ │ │ │ │ ├── CxfEndpointImplementationBuildItem.java
│ │ │ │ │ ├── CxfEndpointImplementationProcessor.java
│ │ │ │ │ ├── CxfRouteRegistrationRequestorBuildItem.java
│ │ │ │ │ ├── JakartaActivationProcessor.java
│ │ │ │ │ ├── Java2WsdlProcessor.java
│ │ │ │ │ ├── JaxbProcessor.java
│ │ │ │ │ ├── NeethiProcessor.java
│ │ │ │ │ ├── QuarkusCxfFeature.java
│ │ │ │ │ ├── QuarkusCxfProcessor.java
│ │ │ │ │ ├── RuntimeBusBuildItem.java
│ │ │ │ │ ├── RuntimeBusCustomizerBuildItem.java
│ │ │ │ │ ├── ServiceSeiBuildItem.java
│ │ │ │ │ ├── WebServiceContextProcessor.java
│ │ │ │ │ ├── WsApiProcessor.java
│ │ │ │ │ ├── Wsdl4jProcessor.java
│ │ │ │ │ ├── codegen
│ │ │ │ │ │ ├── Wsdl2JavaCodeGen.java
│ │ │ │ │ │ └── Wsdl2JavaParam.java
│ │ │ │ │ ├── devui
│ │ │ │ │ │ └── DevUIProcessor.java
│ │ │ │ │ └── logging
│ │ │ │ │ │ └── QuarkusCxfLoggingProcessor.java
│ │ │ │ │ └── quarkus
│ │ │ │ │ └── vertx
│ │ │ │ │ └── http
│ │ │ │ │ └── client
│ │ │ │ │ └── deployment
│ │ │ │ │ └── VertxWebClientProcessor.java
│ │ │ └── resources
│ │ │ │ ├── META-INF
│ │ │ │ └── services
│ │ │ │ │ └── io.quarkus.deployment.CodeGenProvider
│ │ │ │ └── dev-ui
│ │ │ │ ├── qwc-cxf-clients.js
│ │ │ │ └── qwc-cxf-services.js
│ │ │ └── test
│ │ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ ├── deployment
│ │ │ │ ├── codegen
│ │ │ │ │ ├── Wsdl2JavaCodeGenTest.java
│ │ │ │ │ └── Wsdl2JavaParamsTest.java
│ │ │ │ ├── java2ws
│ │ │ │ │ ├── AdditionalParametersJava2WsTest.java
│ │ │ │ │ ├── DefaultConfigJava2WsTest.java
│ │ │ │ │ ├── DisabledJava2WsTest.java
│ │ │ │ │ ├── ExcludesWithoutIncludesJava2WsTest.java
│ │ │ │ │ ├── IncludesConflictJava2WsTest.java
│ │ │ │ │ ├── IncludesExcludesJava2WsTest.java
│ │ │ │ │ └── WsdlNameTemplateJava2WsTest.java
│ │ │ │ ├── logging
│ │ │ │ │ ├── ConfiguredLoggingFeatureTest.java
│ │ │ │ │ ├── DefaultLoggingFeatureTest.java
│ │ │ │ │ ├── EnabledPrettyLoggingFeatureTest.java
│ │ │ │ │ ├── GlobalClientsLoggingConfigurationTest.java
│ │ │ │ │ ├── GlobalLoggingConfigurationTest.java
│ │ │ │ │ ├── GlobalLoggingLimitTest.java
│ │ │ │ │ ├── GlobalSensitiveTest.java
│ │ │ │ │ ├── HelloService.java
│ │ │ │ │ ├── HelloServiceImpl.java
│ │ │ │ │ ├── NamedLoggingFeatureProducer.java
│ │ │ │ │ ├── NamedLoggingFeatureTest.java
│ │ │ │ │ ├── PerClientOrServiceLoggingLimitTest.java
│ │ │ │ │ ├── PerClientOrServiceSensitiveTest.java
│ │ │ │ │ └── UnnamedLoggingFeatureTest.java
│ │ │ │ └── test
│ │ │ │ │ ├── Add.java
│ │ │ │ │ ├── AsmNamingClashTest.java
│ │ │ │ │ ├── BadHostnameTest.java
│ │ │ │ │ ├── CXFEndpointAnnotationTest.java
│ │ │ │ │ ├── CertReloadTest.java
│ │ │ │ │ ├── CipherSuitesTest.java
│ │ │ │ │ ├── Client3xx4xx5xxTest.java
│ │ │ │ │ ├── ClientAuthRedirectTest.java
│ │ │ │ │ ├── ClientConduitFactoryTest.java
│ │ │ │ │ ├── ClientHttpPolicyDefaultsTest.java
│ │ │ │ │ ├── ClientReceiveTimeoutTest.java
│ │ │ │ │ ├── ConfiglessServiceTest.java
│ │ │ │ │ ├── CxfAnnotationsTest.java
│ │ │ │ │ ├── CxfClientConstructorInjectionInstanceTest.java
│ │ │ │ │ ├── CxfClientConstructorInjectionTest.java
│ │ │ │ │ ├── CxfClientTest.java
│ │ │ │ │ ├── CxfSeiOnlyClientInstanceTest.java
│ │ │ │ │ ├── CxfSeiOnlyClientTest.java
│ │ │ │ │ ├── CxfServiceInInterceptorTest.java
│ │ │ │ │ ├── CxfServiceTest.java
│ │ │ │ │ ├── Delete.java
│ │ │ │ │ ├── Fruit.java
│ │ │ │ │ ├── FruitDescriptionAppender.java
│ │ │ │ │ ├── FruitWebService.java
│ │ │ │ │ ├── FruitWebServiceImpl.java
│ │ │ │ │ ├── GlobalConduitFactoryTest.java
│ │ │ │ │ ├── GlobalTlsConfigurationTest.java
│ │ │ │ │ ├── GreetingWebService.java
│ │ │ │ │ ├── GreetingWebServiceImpl.java
│ │ │ │ │ ├── HelloWebServiceImpl.java
│ │ │ │ │ ├── HostnameVerifierTest.java
│ │ │ │ │ ├── InjectTest.java
│ │ │ │ │ ├── NamedClientInterceptorBeanTest.java
│ │ │ │ │ ├── NamedInterceptorBeanTest.java
│ │ │ │ │ ├── ServerDevModeTest.java
│ │ │ │ │ ├── SoapBindingTest.java
│ │ │ │ │ ├── TlsConfigurationTest.java
│ │ │ │ │ ├── UberJarMergedResourcesTest.java
│ │ │ │ │ ├── UnremovableInterceptorBeanTest.java
│ │ │ │ │ ├── WsdlLocationTest.java
│ │ │ │ │ ├── XForwardedTest.java
│ │ │ │ │ ├── client
│ │ │ │ │ ├── AsyncHandlerTest.java
│ │ │ │ │ ├── WorkerDispatchTimeoutTest.java
│ │ │ │ │ └── model
│ │ │ │ │ │ ├── Hello.java
│ │ │ │ │ │ ├── HelloResponse.java
│ │ │ │ │ │ ├── HelloService.java
│ │ │ │ │ │ ├── HelloService_Service.java
│ │ │ │ │ │ ├── ObjectFactory.java
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ ├── dev
│ │ │ │ │ ├── DevUiRemoteStatsImpl.java
│ │ │ │ │ ├── DevUiStats.java
│ │ │ │ │ ├── DevUiStatsImpl.java
│ │ │ │ │ └── DevUiTest.java
│ │ │ │ │ └── path
│ │ │ │ │ ├── AbstractCxfPathTest.java
│ │ │ │ │ ├── CxfPathTest.java
│ │ │ │ │ ├── DefaultPathsTest.java
│ │ │ │ │ ├── QuarkusRootPathAndCxfPathTest.java
│ │ │ │ │ └── QuarkusRootPathTest.java
│ │ │ │ └── vertx
│ │ │ │ └── http
│ │ │ │ └── client
│ │ │ │ ├── RequestBodyOutputStreamTest.java
│ │ │ │ ├── TempStoreTest.java
│ │ │ │ └── deployment
│ │ │ │ └── VertxWebClientConduitFactoryTest.java
│ │ │ └── resources
│ │ │ └── wsdllocation
│ │ │ └── HelloService.wsdl
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ ├── doc
│ │ │ ├── standards.adoc
│ │ │ └── usage.adoc
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ ├── AbstractEnumConverter.java
│ │ │ │ ├── CXFClientData.java
│ │ │ │ ├── CXFClientInfo.java
│ │ │ │ ├── CXFClientInfos.java
│ │ │ │ ├── CXFException.java
│ │ │ │ ├── CXFRecorder.java
│ │ │ │ ├── CXFRuntimeUtils.java
│ │ │ │ ├── CXFServletInfo.java
│ │ │ │ ├── CXFServletInfos.java
│ │ │ │ ├── ClientInjectionPoint.java
│ │ │ │ ├── ConnectionTypeConverter.java
│ │ │ │ ├── CxfClientConfig.java
│ │ │ │ ├── CxfClientInfoProducer.java
│ │ │ │ ├── CxfClientProducer.java
│ │ │ │ ├── CxfConfig.java
│ │ │ │ ├── CxfEndpointConfig.java
│ │ │ │ ├── CxfFixedConfig.java
│ │ │ │ ├── CxfTlsConfiguration.java
│ │ │ │ ├── EnabledFor.java
│ │ │ │ ├── HTTPConduitImpl.java
│ │ │ │ ├── HTTPConduitSpec.java
│ │ │ │ ├── LoggingConfig.java
│ │ │ │ ├── PrettyBoolean.java
│ │ │ │ ├── QuarkusBusFactory.java
│ │ │ │ ├── QuarkusClientFactoryBean.java
│ │ │ │ ├── QuarkusCxfUtils.java
│ │ │ │ ├── QuarkusHTTPConduitFactory.java
│ │ │ │ ├── QuarkusJaxWsProxyFactoryBean.java
│ │ │ │ ├── QuarkusJaxWsServerFactoryBean.java
│ │ │ │ ├── QuarkusRuntimeJaxWsServiceFactoryBean.java
│ │ │ │ ├── QuarkusTLSClientParameters.java
│ │ │ │ ├── StacklessRejectedExecutionException.java
│ │ │ │ ├── URLConnectionHTTPConduitFactory.java
│ │ │ │ ├── WebServiceContextProducer.java
│ │ │ │ ├── annotation
│ │ │ │ ├── CXFClient.java
│ │ │ │ └── CXFEndpoint.java
│ │ │ │ ├── auth
│ │ │ │ └── AuthFaultOutInterceptor.java
│ │ │ │ ├── devui
│ │ │ │ ├── CxfJsonRPCService.java
│ │ │ │ ├── DevUiClientInfo.java
│ │ │ │ ├── DevUiRecorder.java
│ │ │ │ └── DevUiServiceInfo.java
│ │ │ │ ├── extensibility
│ │ │ │ ├── AddressTypeExtensibility.java
│ │ │ │ ├── HTTPClientPolicyExtensibility.java
│ │ │ │ ├── HTTPServerPolicyExtensibility.java
│ │ │ │ ├── UsingAddressingExtensibility.java
│ │ │ │ ├── XMLBindingMessageFormatExtensibility.java
│ │ │ │ └── XMLFormatBindingExtensibility.java
│ │ │ │ ├── graal
│ │ │ │ ├── CXFSubstitutions.java
│ │ │ │ └── QuarkusCxfFeature.java
│ │ │ │ ├── logging
│ │ │ │ └── LoggingFactoryCustomizer.java
│ │ │ │ ├── mutiny
│ │ │ │ ├── CxfMutinyUtils.java
│ │ │ │ ├── FailedResponse.java
│ │ │ │ └── SucceededResponse.java
│ │ │ │ ├── runtime
│ │ │ │ └── proxy
│ │ │ │ │ └── RuntimeInitializedProxyMarker.java
│ │ │ │ ├── transport
│ │ │ │ ├── CxfHandler.java
│ │ │ │ ├── VertxDestination.java
│ │ │ │ ├── VertxDestinationFactory.java
│ │ │ │ ├── VertxHttpServletRequest.java
│ │ │ │ ├── VertxHttpServletResponse.java
│ │ │ │ ├── VertxServletConfig.java
│ │ │ │ ├── VertxServletOutputStream.java
│ │ │ │ └── servlet
│ │ │ │ │ ├── DateUtils.java
│ │ │ │ │ └── LocaleUtils.java
│ │ │ │ ├── vertx
│ │ │ │ └── http
│ │ │ │ │ └── client
│ │ │ │ │ ├── BodyRecorder.java
│ │ │ │ │ ├── ErrorBuffer.java
│ │ │ │ │ ├── HttpClientPool.java
│ │ │ │ │ ├── TempStore.java
│ │ │ │ │ ├── VertxHttpClientHTTPConduit.java
│ │ │ │ │ └── VertxHttpException.java
│ │ │ │ └── wsdl
│ │ │ │ └── QuarkusWSDLManager.java
│ │ └── resources
│ │ │ └── META-INF
│ │ │ ├── cxf
│ │ │ └── bus-extensions.txt
│ │ │ ├── quarkus-extension.yaml
│ │ │ └── services
│ │ │ └── org.eclipse.microprofile.config.spi.Converter
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ ├── logging
│ │ └── LoggingFactoryCustomizerTest.java
│ │ └── vertx
│ │ └── http
│ │ └── client
│ │ └── InputStreamWriteStreamTest.java
├── features-logging
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── features
│ │ │ └── deprecated
│ │ │ └── logging
│ │ │ └── deployment
│ │ │ └── DeprecatedLoggingProcessor.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── doc
│ │ └── intro.adoc
│ │ ├── java
│ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── features
│ │ │ └── deprecated
│ │ │ └── logging
│ │ │ └── DeprecatedLoggingRecorder.java
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── features-metrics
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── metrics
│ │ │ └── deployment
│ │ │ └── QuarkusCxfMetricsProcessor.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── doc
│ │ ├── intro.adoc
│ │ └── usage.adoc
│ │ ├── java
│ │ ├── io
│ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── metrics
│ │ │ │ ├── CxfMetricsConfig.java
│ │ │ │ ├── MetricsCustomizer.java
│ │ │ │ └── QuarkusCxfMetricsFeature.java
│ │ └── org
│ │ │ └── apache
│ │ │ └── cxf
│ │ │ └── metrics
│ │ │ └── codahale
│ │ │ └── CodahaleSubstitutions.java
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── integration-tracing-opentelemetry
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── opentelemetry
│ │ │ │ └── deployment
│ │ │ │ └── QuarkusCxfOpenTelemetryProcessor.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── opentelemetry
│ │ │ └── deployment
│ │ │ ├── OtelDisabledFalseTest.java
│ │ │ └── OtelEnabledFalseTest.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── doc
│ │ ├── intro.adoc
│ │ └── usage.adoc
│ │ ├── java
│ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── opentelemetry
│ │ │ ├── CxfOpenTelemetryConfig.java
│ │ │ └── OpenTelemetryCustomizer.java
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── jaxb-plugins
│ ├── deployment
│ │ └── pom.xml
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── doc
│ │ ├── intro.adoc
│ │ └── usage.adoc
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── pom.xml
├── rt-management
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── rt
│ │ │ └── management
│ │ │ └── deployment
│ │ │ └── QuarkusCxfRtManagementProcessor.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── saaj
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── saaj
│ │ │ └── deployment
│ │ │ ├── SaajImplProcessor.java
│ │ │ └── SoapApiProcessor.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── santuario-xmlsec
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── xmlsec
│ │ │ │ └── deployment
│ │ │ │ └── XmlsecProcessor.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── quarkus
│ │ │ └── xmlsec
│ │ │ └── test
│ │ │ ├── XmlsecDevModeTest.java
│ │ │ └── XmlsecTest.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── services-sts
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── services
│ │ │ └── sts
│ │ │ └── deployment
│ │ │ └── QuarkusCxfStsProcessor.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── doc
│ │ ├── intro.adoc
│ │ ├── standards.adoc
│ │ └── usage.adoc
│ │ ├── java
│ │ └── org
│ │ │ └── apache
│ │ │ └── cxf
│ │ │ └── jaxrs
│ │ │ └── ext
│ │ │ └── MessageContext.java
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── woodstox
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── woodstox
│ │ │ └── deployment
│ │ │ └── QuarkusCxfWoodstoxProcessor.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── ws-rm
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── ws
│ │ │ └── rm
│ │ │ └── deployment
│ │ │ └── WsReliableMessagingProcessor.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── doc
│ │ ├── intro.adoc
│ │ ├── standards.adoc
│ │ └── usage.adoc
│ │ ├── java
│ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── ws
│ │ │ └── rm
│ │ │ ├── CxfWsRmConfig.java
│ │ │ ├── DefaultRmFeatureProducer.java
│ │ │ └── WsRmFactoryCustomizer.java
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
├── ws-security
│ ├── bc-stub
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ ├── io
│ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── ws
│ │ │ │ └── security
│ │ │ │ └── bc
│ │ │ │ └── stub
│ │ │ │ └── BcStub.java
│ │ │ └── org
│ │ │ └── bouncycastle
│ │ │ ├── asn1
│ │ │ ├── ASN1Encodable.java
│ │ │ ├── ASN1InputStream.java
│ │ │ ├── ASN1Object.java
│ │ │ ├── ASN1ObjectIdentifier.java
│ │ │ ├── ASN1OctetString.java
│ │ │ ├── ASN1Primitive.java
│ │ │ ├── ASN1Set.java
│ │ │ ├── ASN1TaggedObject.java
│ │ │ ├── DEROctetString.java
│ │ │ ├── pkcs
│ │ │ │ ├── Attribute.java
│ │ │ │ ├── CertificationRequest.java
│ │ │ │ └── PKCSObjectIdentifiers.java
│ │ │ ├── x500
│ │ │ │ ├── AttributeTypeAndValue.java
│ │ │ │ ├── RDN.java
│ │ │ │ ├── X500Name.java
│ │ │ │ ├── X500NameStyle.java
│ │ │ │ └── style
│ │ │ │ │ ├── AbstractX500NameStyle.java
│ │ │ │ │ └── RFC4519Style.java
│ │ │ ├── x509
│ │ │ │ ├── AlgorithmIdentifier.java
│ │ │ │ ├── BasicConstraints.java
│ │ │ │ ├── Extension.java
│ │ │ │ ├── GeneralName.java
│ │ │ │ ├── GeneralNames.java
│ │ │ │ ├── GeneralNamesBuilder.java
│ │ │ │ ├── KeyPurposeId.java
│ │ │ │ ├── KeyUsage.java
│ │ │ │ ├── PolicyInformation.java
│ │ │ │ ├── SubjectKeyIdentifier.java
│ │ │ │ └── SubjectPublicKeyInfo.java
│ │ │ └── x9
│ │ │ │ └── DomainParameters.java
│ │ │ ├── cert
│ │ │ ├── CertIOException.java
│ │ │ ├── X509v3CertificateBuilder.java
│ │ │ └── jcajce
│ │ │ │ ├── JcaX509CertificateConverter.java
│ │ │ │ ├── JcaX509ExtensionUtils.java
│ │ │ │ └── JcaX509v3CertificateBuilder.java
│ │ │ ├── jce
│ │ │ └── provider
│ │ │ │ └── BouncyCastleProvider.java
│ │ │ ├── operator
│ │ │ ├── ContentSigner.java
│ │ │ ├── OperatorCreationException.java
│ │ │ ├── OperatorException.java
│ │ │ └── jcajce
│ │ │ │ └── JcaContentSignerBuilder.java
│ │ │ ├── pkcs
│ │ │ ├── PKCS10CertificationRequest.java
│ │ │ └── PKCS10CertificationRequestBuilder.java
│ │ │ └── util
│ │ │ ├── Encodable.java
│ │ │ └── Iterable.java
│ ├── deployment
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── ws
│ │ │ └── security
│ │ │ └── deployment
│ │ │ ├── EhcacheProcessor.java
│ │ │ ├── JodaTimeProcessor.java
│ │ │ ├── OpenSamlProcessor.java
│ │ │ ├── QuarkusCxfWsSecurityProcessor.java
│ │ │ └── Wss4jProcessor.java
│ ├── pom.xml
│ └── runtime
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── doc
│ │ ├── intro.adoc
│ │ ├── standards.adoc
│ │ └── usage.adoc
│ │ ├── java
│ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── ws
│ │ │ └── security
│ │ │ ├── CxfWsSecurityConfig.java
│ │ │ ├── WssConfigurationConstant.java
│ │ │ ├── WssFactoryCustomizer.java
│ │ │ ├── graal
│ │ │ └── CxfWsSecuritySubstitutions.java
│ │ │ └── sts
│ │ │ └── client
│ │ │ └── STSClientBean.java
│ │ └── resources
│ │ └── META-INF
│ │ └── quarkus-extension.yaml
└── xjc-plugins
│ ├── deployment
│ └── pom.xml
│ ├── pom.xml
│ └── runtime
│ ├── pom.xml
│ └── src
│ └── main
│ ├── doc
│ ├── intro.adoc
│ └── usage.adoc
│ └── resources
│ └── META-INF
│ └── quarkus-extension.yaml
├── integration-tests
├── client-server
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ ├── deployment
│ │ │ │ └── test
│ │ │ │ │ ├── Hello.java
│ │ │ │ │ ├── HelloResponse.java
│ │ │ │ │ ├── HelloService.java
│ │ │ │ │ ├── HelloService_Service.java
│ │ │ │ │ ├── ObjectFactory.java
│ │ │ │ │ └── package-info.java
│ │ │ │ └── it
│ │ │ │ ├── HelloService.java
│ │ │ │ ├── VerboseExceptionMapper.java
│ │ │ │ ├── annotation
│ │ │ │ └── cxfendpoint
│ │ │ │ │ ├── HelloBean.java
│ │ │ │ │ ├── PathAnnotationHelloServiceImpl.java
│ │ │ │ │ └── PathAnnotationHelloServiceWithBean.java
│ │ │ │ ├── auth
│ │ │ │ └── basic
│ │ │ │ │ ├── BasicAuthHelloServiceImpl.java
│ │ │ │ │ ├── BasicAuthResource.java
│ │ │ │ │ └── WsdlBasicAuthInterceptor.java
│ │ │ │ ├── client
│ │ │ │ └── tls
│ │ │ │ │ └── JavaNetSslClientRest.java
│ │ │ │ ├── large
│ │ │ │ └── slow
│ │ │ │ │ ├── LargeSlowRest.java
│ │ │ │ │ ├── LargeSlowServiceImpl.java
│ │ │ │ │ ├── SOAPHandlerLargeSlowServiceImpl.java
│ │ │ │ │ └── generated
│ │ │ │ │ ├── LargeSlow.java
│ │ │ │ │ ├── LargeSlowOutput.java
│ │ │ │ │ ├── LargeSlowResponse.java
│ │ │ │ │ ├── LargeSlowService.java
│ │ │ │ │ ├── LargeSlowService_Service.java
│ │ │ │ │ ├── ObjectFactory.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── redirect
│ │ │ │ ├── RedirectRest.java
│ │ │ │ └── retransmitcache
│ │ │ │ │ ├── ObjectFactory.java
│ │ │ │ │ ├── RetransmitCache.java
│ │ │ │ │ ├── RetransmitCacheOutput.java
│ │ │ │ │ ├── RetransmitCacheResponse.java
│ │ │ │ │ ├── RetransmitCacheService.java
│ │ │ │ │ ├── RetransmitCacheServiceImpl.java
│ │ │ │ │ ├── RetransmitCacheService_Service.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── server
│ │ │ │ └── xml
│ │ │ │ │ └── schema
│ │ │ │ │ └── validation
│ │ │ │ │ ├── AnnotationSchemaValidatedCalculatorServiceImpl.java
│ │ │ │ │ ├── ApplicationPropertiesSchemaValidatedCalculatorServiceImpl.java
│ │ │ │ │ └── ValidationResource.java
│ │ │ │ ├── soap12
│ │ │ │ ├── Soap12HelloServiceImpl.java
│ │ │ │ └── Soap12Rest.java
│ │ │ │ ├── vertx
│ │ │ │ └── async
│ │ │ │ │ ├── RestAsyncWithWsdl.java
│ │ │ │ │ ├── RestAsyncWithWsdlWithBlocking.java
│ │ │ │ │ ├── RestAsyncWithWsdlWithEagerInit.java
│ │ │ │ │ ├── RestAsyncWithoutWsdl.java
│ │ │ │ │ ├── RestAsyncWithoutWsdlWithBlocking.java
│ │ │ │ │ ├── VerboseExceptionMapper.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── HelloWithWsdl.java
│ │ │ │ │ ├── HelloWithWsdlWithBlocking.java
│ │ │ │ │ ├── HelloWithWsdlWithEagerInit.java
│ │ │ │ │ ├── HelloWithoutWsdl.java
│ │ │ │ │ └── HelloWithoutWsdlWithBlocking.java
│ │ │ │ └── ws
│ │ │ │ └── addressing
│ │ │ │ └── server
│ │ │ │ ├── anonymous
│ │ │ │ └── AddressingAnonymousImpl.java
│ │ │ │ └── decoupled
│ │ │ │ ├── WsAddressingImpl.java
│ │ │ │ ├── WsAddressingService.java
│ │ │ │ └── WsAddressingTargetResource.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ └── wsdl
│ │ │ ├── LargeSlow-async-binding.xml
│ │ │ ├── LargeSlow.wsdl
│ │ │ ├── calculator.wsdl
│ │ │ └── calculator.xsd
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── it
│ │ ├── annotation
│ │ └── cxfendpoint
│ │ │ ├── CXFEndpointAnnotationIT.java
│ │ │ ├── CXFEndpointAnnotationTest.java
│ │ │ └── MockedEndpointTest.java
│ │ ├── auth
│ │ └── basic
│ │ │ └── wsdl
│ │ │ ├── BasicAuthIT.java
│ │ │ └── BasicAuthTest.java
│ │ ├── client
│ │ └── tls
│ │ │ ├── JavaNetSslClientIT.java
│ │ │ ├── JavaNetSslClientTest.java
│ │ │ └── JavaNetSslClientTestResource.java
│ │ ├── large
│ │ └── slow
│ │ │ ├── LargeSlowIT.java
│ │ │ └── LargeSlowTest.java
│ │ ├── redirect
│ │ ├── RedirectIT.java
│ │ ├── RedirectTest.java
│ │ └── RedirectTestResource.java
│ │ ├── soap
│ │ └── handler
│ │ │ ├── SOAPHandlerIT.java
│ │ │ └── SOAPHandlerTest.java
│ │ ├── soap12
│ │ ├── Soap12IT.java
│ │ └── Soap12Test.java
│ │ ├── validation
│ │ ├── XmlSchemaValidationIT.java
│ │ └── XmlSchemaValidationTest.java
│ │ ├── vertx
│ │ └── async
│ │ │ ├── AsyncVertxClientIT.java
│ │ │ └── AsyncVertxClientTest.java
│ │ └── ws
│ │ └── addressing
│ │ └── server
│ │ ├── WsAddressingAnonymousIT.java
│ │ ├── WsAddressingAnonymousTest.java
│ │ ├── WsAddressingDecoupledIT.java
│ │ └── WsAddressingDecoupledTest.java
├── client
│ ├── README.adoc
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ ├── client
│ │ │ │ └── it
│ │ │ │ │ ├── BareClientResource.java
│ │ │ │ │ ├── BasicAuthClientResource.java
│ │ │ │ │ ├── CodeFirstClient.java
│ │ │ │ │ ├── CxfClientResource.java
│ │ │ │ │ ├── CxfClientRestResource.java
│ │ │ │ │ ├── DynamicClientConfigRestResource.java
│ │ │ │ │ ├── SOAPExceptionInterceptor.java
│ │ │ │ │ └── rtinit
│ │ │ │ │ ├── ClientWithRuntimeInitializedPayload.java
│ │ │ │ │ ├── Operands.java
│ │ │ │ │ └── Result.java
│ │ │ │ └── it
│ │ │ │ └── logging
│ │ │ │ ├── CxfLoggingResource.java
│ │ │ │ └── LoggingFeatureProducer.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ └── wsdl
│ │ │ ├── BareCalculatorService.wsdl
│ │ │ ├── BasicAuthCalculatorService.wsdl
│ │ │ └── CalculatorService.wsdl
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ ├── client
│ │ └── it
│ │ │ ├── CxfClientIT.java
│ │ │ ├── CxfClientTest.java
│ │ │ └── CxfClientTestResource.java
│ │ └── it
│ │ └── logging
│ │ ├── CxfLoggingIT.java
│ │ └── CxfLoggingTest.java
├── fastinfoset
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── it
│ │ │ │ ├── FastInfosetHelloService.java
│ │ │ │ ├── FastInfosetHelloServiceImpl.java
│ │ │ │ ├── FastInfosetResource.java
│ │ │ │ ├── GzipHelloService.java
│ │ │ │ └── GzipHelloServiceImpl.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── it
│ │ └── fastinfoset
│ │ ├── FastInfosetIT.java
│ │ └── FastInfosetTest.java
├── metrics
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── metrics
│ │ │ │ ├── client
│ │ │ │ └── it
│ │ │ │ │ └── MetricsClientResource.java
│ │ │ │ ├── it
│ │ │ │ └── async
│ │ │ │ │ ├── AsyncClientResource.java
│ │ │ │ │ ├── HeaderToMetricsTagRequestFilter.java
│ │ │ │ │ ├── HeaderToMetricsTagsCustomizer.java
│ │ │ │ │ └── MultiplyingAddInterceptor.java
│ │ │ │ └── server
│ │ │ │ └── it
│ │ │ │ ├── HelloService.java
│ │ │ │ └── HelloServiceImpl.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ └── wsdl
│ │ │ ├── CalculatorService.wsdl
│ │ │ └── async-binding.xml
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── metrics
│ │ └── it
│ │ ├── MetricsIT.java
│ │ ├── MetricsTest.java
│ │ └── async
│ │ ├── AsyncClientContextlessTest.java
│ │ ├── AsyncClientIT.java
│ │ ├── AsyncClientTest.java
│ │ └── AsyncClientTestResource.java
├── mtls
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── it
│ │ │ │ └── auth
│ │ │ │ └── mtls
│ │ │ │ ├── HelloService.java
│ │ │ │ ├── MTlsHelloServiceImpl.java
│ │ │ │ └── SecurityPolicyResource.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── it
│ │ └── auth
│ │ └── mtls
│ │ ├── MutualTlsIT.java
│ │ └── MutualTlsTest.java
├── mtom-awt
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── it
│ │ │ │ └── ws
│ │ │ │ └── mtom
│ │ │ │ └── awt
│ │ │ │ └── server
│ │ │ │ ├── ImageService.java
│ │ │ │ ├── ImageServiceImpl.java
│ │ │ │ ├── MtomAwtResource.java
│ │ │ │ ├── MtomEnforcer.java
│ │ │ │ └── wrappers
│ │ │ │ ├── ImageData.java
│ │ │ │ ├── ImageResponse.java
│ │ │ │ ├── ImageServiceWithWrappers.java
│ │ │ │ └── ImageServiceWithWrappersImpl.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ ├── java
│ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── it
│ │ │ └── ws
│ │ │ └── mtom
│ │ │ └── awt
│ │ │ └── server
│ │ │ ├── MtomAwtIT.java
│ │ │ └── MtomAwtTest.java
│ │ └── resources
│ │ └── linux-image.png
├── opentelemetry
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── opentelemetry
│ │ │ │ └── it
│ │ │ │ ├── HelloService.java
│ │ │ │ ├── HelloServiceImpl.java
│ │ │ │ ├── OpenTelemetryRouter.java
│ │ │ │ └── TracedBean.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── opentelemetry
│ │ └── it
│ │ ├── OpenTelemetryIT.java
│ │ └── OpenTelemetryTest.java
├── pom.xml
├── saaj
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── saaj
│ │ │ │ └── it
│ │ │ │ └── SaajResource.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ ├── java
│ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── saaj
│ │ │ └── it
│ │ │ ├── SaajIT.java
│ │ │ └── SaajTest.java
│ │ └── resources
│ │ └── plaintext.xml
├── santuario-xmlsec
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── xmlsec
│ │ │ │ └── it
│ │ │ │ ├── Encryption.java
│ │ │ │ ├── Signing.java
│ │ │ │ ├── XmlReaderToWriter.java
│ │ │ │ └── XmlsecResource.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ ├── java
│ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── xmlsec
│ │ │ └── it
│ │ │ ├── DSNamespaceContext.java
│ │ │ ├── NativeXmlsecResourceIT.java
│ │ │ └── XmlsecResourceTest.java
│ │ └── resources
│ │ └── plaintext.xml
├── server
│ ├── README.adoc
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── it
│ │ │ │ ├── server
│ │ │ │ ├── DateService.java
│ │ │ │ ├── DateServiceImpl.java
│ │ │ │ ├── FaultyHelloService.java
│ │ │ │ ├── FaultyHelloServiceImpl.java
│ │ │ │ ├── Fruit.java
│ │ │ │ ├── FruitService.java
│ │ │ │ ├── FruitServiceImpl.java
│ │ │ │ ├── GreetingException.java
│ │ │ │ ├── GreetingSOAPHandler.java
│ │ │ │ ├── GreetingWebService.java
│ │ │ │ ├── GreetingWebServiceImpl.java
│ │ │ │ ├── GreetingWebServiceNoIntf.java
│ │ │ │ ├── GreetingWebServiceWithWebServiceContext.java
│ │ │ │ ├── HelloBean.java
│ │ │ │ ├── HelloService.java
│ │ │ │ ├── HelloServiceImpl.java
│ │ │ │ ├── LargeEntityService.java
│ │ │ │ ├── LargeEntityServiceImpl.java
│ │ │ │ ├── Ping.java
│ │ │ │ ├── SlowHelloServiceImpl.java
│ │ │ │ └── provider
│ │ │ │ │ ├── SOAPMessageProvider.java
│ │ │ │ │ ├── SourceMessageProvider.java
│ │ │ │ │ ├── SourcePayloadProvider.java
│ │ │ │ │ └── StreamSourcePayloadProvider.java
│ │ │ │ └── ws
│ │ │ │ └── mtom
│ │ │ │ └── server
│ │ │ │ ├── DHRequest.java
│ │ │ │ ├── DHResponse.java
│ │ │ │ ├── MtomEnforcer.java
│ │ │ │ ├── MtomService.java
│ │ │ │ ├── MtomServiceImpl.java
│ │ │ │ └── RandomBytesDataSource.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── it
│ │ ├── server
│ │ ├── AbstractGreetingWebServiceTest.java
│ │ ├── ChunkedTest.java
│ │ ├── ClientGreetingTest.java
│ │ ├── FruitServiceTest.java
│ │ ├── GreetingSOAPHandlerIT.java
│ │ ├── GreetingSOAPHandlerTest.java
│ │ ├── GreetingWebServiceImplIT.java
│ │ ├── GreetingWebServiceImplTest.java
│ │ ├── GreetingWebServiceNoIntfIT.java
│ │ ├── GreetingWebServiceNoIntfTest.java
│ │ ├── GreetingWebServiceWithWebServiceContextTest.java
│ │ ├── HelloServiceIT.java
│ │ ├── HelloServiceTest.java
│ │ ├── Java2wsIT.java
│ │ ├── Java2wsTest.java
│ │ ├── ProviderServiceTest.java
│ │ ├── ServerIT.java
│ │ ├── ServerTest.java
│ │ ├── ServerThreadPoolStressTest.java
│ │ ├── XForwardedHeadersIT.java
│ │ ├── XForwardedHeadersTest.java
│ │ └── XForwardedProfile.java
│ │ └── ws
│ │ └── mtom
│ │ └── server
│ │ ├── MtomIT.java
│ │ └── MtomTest.java
├── ws-rm-client
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── it
│ │ │ │ └── ws
│ │ │ │ └── rm
│ │ │ │ ├── client
│ │ │ │ ├── ClientBeanProducers.java
│ │ │ │ ├── InMessageRecorder.java
│ │ │ │ ├── Init.java
│ │ │ │ ├── MessageLossSimulator.java
│ │ │ │ ├── OutMessageRecorder.java
│ │ │ │ └── WsrmResource.java
│ │ │ │ └── server
│ │ │ │ └── WsrmHelloService.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── it
│ │ └── ws
│ │ └── rm
│ │ └── client
│ │ ├── MessageFlowAssertions.java
│ │ ├── WsReliableMessagingIT.java
│ │ ├── WsReliableMessagingTest.java
│ │ └── WsrmServer.java
├── ws-security-policy
│ ├── generate-certs.sh
│ ├── pom.xml
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── io
│ │ │ │ │ └── quarkiverse
│ │ │ │ │ └── cxf
│ │ │ │ │ └── it
│ │ │ │ │ └── security
│ │ │ │ │ └── policy
│ │ │ │ │ ├── AbstractHelloService.java
│ │ │ │ │ ├── BeanProducers.java
│ │ │ │ │ ├── CryptoProducers.java
│ │ │ │ │ ├── CustomEncryptSignPolicyHelloService.java
│ │ │ │ │ ├── CustomEncryptSignPolicyHelloServiceImpl.java
│ │ │ │ │ ├── CustomEncryptSignWrong1PolicyHelloService.java
│ │ │ │ │ ├── CustomEncryptSignWrong1PolicyHelloServiceImpl.java
│ │ │ │ │ ├── CustomEncryptSignWrong2PolicyHelloService.java
│ │ │ │ │ ├── CustomEncryptSignWrong2PolicyHelloServiceImpl.java
│ │ │ │ │ ├── CustomizedEncryptSignPolicyHelloService.java
│ │ │ │ │ ├── CustomizedEncryptSignPolicyHelloServiceImpl.java
│ │ │ │ │ ├── EncryptSignPolicyHelloService.java
│ │ │ │ │ ├── EncryptSignPolicyHelloServiceImpl.java
│ │ │ │ │ ├── HelloService.java
│ │ │ │ │ ├── HelloServiceImpl.java
│ │ │ │ │ ├── HttpsPolicyHelloService.java
│ │ │ │ │ ├── HttpsPolicyHelloServiceImpl.java
│ │ │ │ │ ├── NoopHostnameVerifier.java
│ │ │ │ │ ├── Saml1PolicyHelloService.java
│ │ │ │ │ ├── Saml1PolicyHelloServiceImpl.java
│ │ │ │ │ ├── Saml2PolicyHelloService.java
│ │ │ │ │ ├── Saml2PolicyHelloServiceImpl.java
│ │ │ │ │ ├── SamlBeanProducers.java
│ │ │ │ │ ├── SecurityPolicyResource.java
│ │ │ │ │ ├── UsernameTokenPasswordCallback.java
│ │ │ │ │ ├── UsernameTokenPolicyHelloService.java
│ │ │ │ │ └── UsernameTokenPolicyHelloServiceImpl.java
│ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ ├── custom-encrypt-sign-policy.xml
│ │ │ │ ├── custom-encrypt-sign-wrong1-policy.xml
│ │ │ │ ├── custom-encrypt-sign-wrong2-policy.xml
│ │ │ │ ├── customized-encrypt-sign-policy.xml
│ │ │ │ ├── encrypt-sign-policy.xml
│ │ │ │ ├── https-policy.xml
│ │ │ │ ├── saml1-policy.xml
│ │ │ │ ├── saml2-policy.xml
│ │ │ │ └── username-token-policy.xml
│ │ └── test
│ │ │ └── java
│ │ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── it
│ │ │ └── security
│ │ │ └── policy
│ │ │ ├── AbstractFipsAwareTest.java
│ │ │ ├── AbstractUsernameTokenSecurityPolicyTest.java
│ │ │ ├── CustomEncryptSignPolicyIT.java
│ │ │ ├── CustomEncryptSignPolicyTest.java
│ │ │ ├── EncryptSignPolicyIT.java
│ │ │ ├── EncryptSignPolicyTest.java
│ │ │ ├── PolicyTestUtils.java
│ │ │ ├── TransportPolicyIT.java
│ │ │ ├── TransportPolicyTest.java
│ │ │ ├── UsernameTokenSecurityPolicyIT.java
│ │ │ ├── UsernameTokenSecurityPolicyStaxIT.java
│ │ │ ├── UsernameTokenSecurityPolicyStaxTest.java
│ │ │ ├── UsernameTokenSecurityPolicyTest.java
│ │ │ └── UsernameTokenTest.java
│ └── v3.ext
├── ws-security
│ ├── README.adoc
│ ├── generate-certs.sh
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── it
│ │ │ │ └── wss
│ │ │ │ ├── client
│ │ │ │ ├── CxfWssClientResource.java
│ │ │ │ ├── SignatureValidatorResource.java
│ │ │ │ └── WSS4JOutInterceptorProducer.java
│ │ │ │ └── server
│ │ │ │ ├── AnnotatedWssRounderServiceImpl.java
│ │ │ │ ├── WSS4JInInterceptorProducer.java
│ │ │ │ ├── WssRounderService.java
│ │ │ │ ├── WssRounderServiceImpl.java
│ │ │ │ └── policy
│ │ │ │ ├── PasswordCallbackHandler.java
│ │ │ │ ├── WssSecurityPolicyHelloService.java
│ │ │ │ └── WssSecurityPolicyHelloServiceImpl.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ ├── saml-keystore.jks
│ │ │ ├── server
│ │ │ ├── alice.properties
│ │ │ ├── bob.properties
│ │ │ └── encrypt-sign-policy.xml
│ │ │ └── wsdl
│ │ │ └── dir
│ │ │ └── WssCalculatorService.wsdl
│ │ └── test
│ │ ├── java
│ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── it
│ │ │ └── wss
│ │ │ ├── client
│ │ │ ├── CxfWssClientIT.java
│ │ │ ├── CxfWssClientTest.java
│ │ │ ├── CxfWssClientTestResource.java
│ │ │ ├── SignatureValidatorIT.java
│ │ │ └── SignatureValidatorTest.java
│ │ │ └── server
│ │ │ ├── CxfWssServerIT.java
│ │ │ ├── CxfWssServerTest.java
│ │ │ ├── CxfWssServerTestResource.java
│ │ │ └── policy
│ │ │ ├── CxfWssSecurityPolicyServerIT.java
│ │ │ └── CxfWssSecurityPolicyServerTest.java
│ │ └── resources
│ │ └── data
│ │ ├── saml1-request.xml
│ │ └── saml2-request.xml
├── ws-trust
│ ├── README.adoc
│ ├── generate-certs.sh
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── quarkiverse
│ │ │ │ └── cxf
│ │ │ │ └── it
│ │ │ │ └── ws
│ │ │ │ └── trust
│ │ │ │ ├── client
│ │ │ │ ├── BeanProducers.java
│ │ │ │ └── WsTrustResource.java
│ │ │ │ ├── common
│ │ │ │ └── PasswordCallbackHandler.java
│ │ │ │ ├── server
│ │ │ │ ├── TrustHelloService.java
│ │ │ │ └── TrustHelloServiceImpl.java
│ │ │ │ └── sts
│ │ │ │ ├── Sts.java
│ │ │ │ └── StsCallbackHandler.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ ├── asymmetric-saml2-policy.xml
│ │ │ ├── client.pkcs12
│ │ │ ├── clientKeystore.properties
│ │ │ ├── io-policy.xml
│ │ │ ├── service.pkcs12
│ │ │ ├── sts.pkcs12
│ │ │ ├── stsKeystore.properties
│ │ │ └── ws-trust-1.4-service.wsdl
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── it
│ │ └── ws
│ │ └── trust
│ │ ├── CxfWsTrustIT.java
│ │ └── CxfWsTrustTest.java
├── wsdl2java-no-config
│ ├── README.adoc
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ ├── java
│ │ └── io
│ │ │ └── quarkiverse
│ │ │ └── cxf
│ │ │ └── wsdl2java
│ │ │ └── no
│ │ │ └── config
│ │ │ └── it
│ │ │ └── Wsdl2JavaNoConfigTest.java
│ │ └── resources
│ │ └── wsdl
│ │ └── CalculatorService.wsdl
└── wsdl2java
│ ├── README.adoc
│ ├── pom.xml
│ └── src
│ ├── main
│ └── resources
│ │ └── application.properties
│ └── test
│ ├── java
│ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── wsdl2java
│ │ └── it
│ │ ├── HelloNameProvider.java
│ │ ├── TestInterface.java
│ │ ├── Wsdl2JavaJaxb1Test.java
│ │ ├── Wsdl2JavaJaxb2Test.java
│ │ ├── Wsdl2JavaJaxb3Test.java
│ │ └── Wsdl2JavaTest.java
│ └── resources
│ └── wsdl
│ ├── CalculatorService.wsdl
│ ├── CalculatorServiceJaxb1.wsdl
│ ├── CalculatorServiceJaxb2.wsdl
│ ├── HelloService-jaxb-bindings.xml
│ ├── HelloService.wsdl
│ ├── HelloService.xsd
│ ├── global-jaxb-bindings.xml
│ └── multiple-package-names.wsdl
├── mvnw
├── mvnw.cmd
├── pom.xml
├── release.sh
├── src
└── build
│ ├── doc-templates
│ └── extension-doc-page.adoc
│ ├── enforcer-rules
│ ├── quarkus-cxf-banned-bom-dependencies.xml
│ └── quarkus-cxf-banned-dependencies.xml
│ └── scripts
│ └── update-antora-config.groovy
└── test-util-parent
├── pom.xml
├── test-list
└── pom.xml
├── test-util
├── README.adoc
├── pom.xml
└── src
│ └── main
│ ├── cxf-codegen-resources
│ └── wsdl
│ │ └── WssCalculatorService.wsdl
│ └── java
│ └── io
│ └── quarkiverse
│ └── cxf
│ └── test
│ ├── QuarkusCxfClientTestUtil.java
│ └── VertxTestUtil.java
├── test-ws-rm-server-jvm
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── io
│ │ └── quarkiverse
│ │ └── cxf
│ │ └── it
│ │ └── ws
│ │ └── rm
│ │ └── server
│ │ ├── Init.java
│ │ ├── WsrmHelloService.java
│ │ └── WsrmHelloServiceImpl.java
│ └── resources
│ └── application.properties
└── test-ws-rm-server-native
├── pom.xml
└── src
└── main
├── java
└── io
│ └── quarkiverse
│ └── cxf
│ └── it
│ └── ws
│ └── rm
│ └── server
│ └── nat
│ └── HaveSomeJavaDoc.java
└── resources
└── application.properties
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto eol=lf
2 | *.cmd text eol=crlf
3 | *.jar binary
4 | *.jks binary
5 | *.png binary
6 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # Lines starting with '#' are comments.
2 | # Each line is a file pattern followed by one or more owners.
3 |
4 | # More details are here: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
5 |
6 | # The '*' pattern is global owners.
7 |
8 | # Order is important. The last matching pattern has the most precedence.
9 | # The folders are ordered as follows:
10 |
11 | # In each subsection folders are ordered first by depth, then alphabetically.
12 | # This should make it easy to add new rules without breaking existing ones.
13 |
14 | * @quarkiverse/quarkiverse-cxf
15 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # To get started with Dependabot version updates, you'll need to specify which
2 | # package ecosystems to update and where the package manifests are located.
3 | # See the documentation for all configuration options:
4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5 |
6 | version: 2
7 | updates:
8 | - package-ecosystem: "maven"
9 | directory: "/"
10 | schedule:
11 | interval: "daily"
12 | ignore:
13 | - dependency-name: jakarta.xml.ws:jakarta.xml.ws-api
14 | versions:
15 | - ">= 3.0.0"
16 | # Prevent PRs from opening except for security updates, given Renovate
17 | # is used to manage the regular dependency updates
18 | open-pull-requests-limit: 0
19 |
--------------------------------------------------------------------------------
/.github/project.yml:
--------------------------------------------------------------------------------
1 | name: Quarkiverse Extension
2 | release:
3 | current-version: 3.23.1
4 | current-major-minor-version: 3.23
5 | next-version: 3.23.2-SNAPSHOT
6 |
--------------------------------------------------------------------------------
/.github/workflows/pre-release.yml:
--------------------------------------------------------------------------------
1 | name: Quarkiverse Pre Release
2 |
3 | on:
4 | pull_request:
5 | paths:
6 | - '.github/project.yml'
7 |
8 | concurrency:
9 | group: ${{ github.workflow }}-${{ github.ref }}
10 | cancel-in-progress: true
11 |
12 | jobs:
13 | pre-release:
14 | name: Pre-Release
15 | uses: quarkiverse/.github/.github/workflows/pre-release.yml@main
16 | secrets: inherit
17 |
--------------------------------------------------------------------------------
/.github/workflows/release-prepare.yml:
--------------------------------------------------------------------------------
1 | name: Quarkiverse Prepare Release
2 |
3 | on:
4 | pull_request:
5 | types: [ closed ]
6 | paths:
7 | - '.github/project.yml'
8 |
9 | permissions:
10 | contents: write
11 |
12 | concurrency:
13 | group: ${{ github.workflow }}-${{ github.ref }}
14 | cancel-in-progress: true
15 |
16 | jobs:
17 | prepare-release:
18 | name: Prepare Release
19 | if: ${{ github.event.pull_request.merged == true}}
20 | uses: quarkiverse/.github/.github/workflows/prepare-release.yml@main
21 | secrets: inherit
22 | with:
23 | java_version: 17
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled class file
2 | *.class
3 |
4 | # Log file
5 | *.log
6 |
7 | # BlueJ files
8 | *.ctxt
9 |
10 | # Mobile Tools for Java (J2ME)
11 | .mtj.tmp/
12 |
13 | # Package Files #
14 | *.war
15 | *.nar
16 | *.ear
17 | *.zip
18 | *.tar.gz
19 | *.rar
20 |
21 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
22 | hs_err_pid*
23 |
24 | # Eclipse
25 | .project
26 | .classpath
27 | .settings/
28 | bin/
29 |
30 | # IntelliJ
31 | .idea
32 | *.ipr
33 | *.iml
34 | *.iws
35 |
36 | # NetBeans
37 | nb-configuration.xml
38 |
39 | # Visual Studio Code
40 | .vscode
41 | .factorypath
42 |
43 | # OSX
44 | .DS_Store
45 |
46 | # Vim
47 | *.swp
48 | *.swo
49 |
50 | # patch
51 | *.orig
52 | *.rej
53 |
54 | # Maven
55 | target/
56 | pom.xml.tag
57 | pom.xml.releaseBackup
58 | pom.xml.versionsBackup
59 | release.properties
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/.sdkmanrc:
--------------------------------------------------------------------------------
1 | # Enable auto-env through the sdkman_auto_env config
2 | # Add key=value pairs of SDKs to use below
3 | java=17.0.10-tem
4 | mvnd=1.0.2
5 |
--------------------------------------------------------------------------------
/docs/README.adoc:
--------------------------------------------------------------------------------
1 | = Quarkus CXF (CXF Extensions for Quarkus)
2 |
3 | The generated site is available at https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/
4 |
5 | == Live-edit locally
6 |
7 | [source,shell]
8 | ----
9 | $ mvn quarkus:dev
10 | ----
11 |
12 | When the site is built, hit `w` and the site should open in browser.
13 |
--------------------------------------------------------------------------------
/docs/antora-playbook.yml:
--------------------------------------------------------------------------------
1 | site:
2 | title: CXF Extensions for Quarkus
3 | start_page: quarkus-cxf:ROOT:index.adoc
4 | content:
5 | sources:
6 | - url: ./../
7 | branches: HEAD
8 | start_path: docs
9 | ui:
10 | bundle:
11 | url: https://github.com/quarkiverse/antora-ui-quarkiverse/releases/latest/download/ui-bundle.zip
12 | snapshot: true
13 |
14 | asciidoc:
15 | attributes:
16 | kroki-fetch-diagram: true
17 |
18 | output:
19 | dir: ./target/site
20 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/calculator-client/CxfClientRestResource.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.client.it;
2 |
3 | import jakarta.ws.rs.GET;
4 | import jakarta.ws.rs.Path;
5 | import jakarta.ws.rs.Produces;
6 | import jakarta.ws.rs.QueryParam;
7 | import jakarta.ws.rs.core.MediaType;
8 |
9 | import org.jboss.eap.quickstarts.wscalculator.calculator.CalculatorService;
10 |
11 | import io.quarkiverse.cxf.annotation.CXFClient;
12 |
13 | @Path("/cxf/calculator-client")
14 | public class CxfClientRestResource {
15 |
16 | @CXFClient("myCalculator") // <1>
17 | CalculatorService myCalculator;
18 |
19 | @GET
20 | @Path("/add")
21 | @Produces(MediaType.TEXT_PLAIN)
22 | public int add(@QueryParam("a") int a, @QueryParam("b") int b) {
23 | return myCalculator.add(a, b); // <2>
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/client-server/BasicAuthHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.auth.basic;
2 |
3 | import jakarta.annotation.security.RolesAllowed;
4 | import jakarta.jws.WebService;
5 |
6 | import io.quarkiverse.cxf.it.HelloService;
7 |
8 | @WebService(serviceName = "HelloService", targetNamespace = HelloService.NS)
9 | @RolesAllowed("app-user")
10 | public class BasicAuthHelloServiceImpl implements HelloService {
11 | @Override
12 | public String hello(String person) {
13 | return "Hello " + person + "!";
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/client-server/PathAnnotationHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.annotation.cxfendpoint;
2 |
3 | import jakarta.jws.WebService;
4 |
5 | import io.quarkiverse.cxf.annotation.CXFEndpoint;
6 | import io.quarkiverse.cxf.it.HelloService;
7 |
8 | @CXFEndpoint("/path-annotation") // <1>
9 | @WebService(serviceName = "HelloService", targetNamespace = HelloService.NS)
10 | public class PathAnnotationHelloServiceImpl implements HelloService {
11 | @Override
12 | public String hello(String person) {
13 | return "Hello " + person + " from PathAnnotationHelloServiceImpl!";
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/hc5/async-binding.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | true
9 |
10 |
11 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/metrics/async-binding.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | true
9 |
10 |
11 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/soap-service/FruitService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import java.util.Set;
4 |
5 | import jakarta.jws.WebMethod;
6 | import jakarta.jws.WebService;
7 |
8 | @WebService
9 | public interface FruitService {
10 |
11 | @WebMethod
12 | Set list();
13 |
14 | @WebMethod
15 | Set add(Fruit fruit);
16 |
17 | @WebMethod
18 | Set delete(Fruit fruit);
19 | }
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/soap-service/HelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * The simplest Hello service.
8 | */
9 | @WebService(name = "HelloService", serviceName = "HelloService")
10 | public interface HelloService {
11 |
12 | @WebMethod
13 | String hello(String text);
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/soap-service/HelloServiceIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class HelloServiceIT extends HelloServiceTest {
7 | }
8 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/soap-service/HelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * The simplest Hello service implementation.
8 | */
9 | @WebService(serviceName = "HelloService")
10 | public class HelloServiceImpl implements HelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + "!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/soap-service/HelloServiceTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import org.junit.jupiter.api.Assertions;
4 | import org.junit.jupiter.api.Test;
5 |
6 | import io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil;
7 | import io.quarkus.test.junit.QuarkusTest;
8 |
9 | @QuarkusTest
10 | public class HelloServiceTest {
11 |
12 | @Test
13 | public void hello() {
14 | final HelloService client = QuarkusCxfClientTestUtil.getClient(HelloService.class, "/soap/hello");
15 | Assertions.assertEquals("Hello World!", client.hello("World"));
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/ws-security-policy/EncryptSignPolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | * A service with a WS-SecurityPolicy attached
10 | */
11 | // tag::quarkus-cxf-rt-ws-security.adoc[]
12 | @WebService(serviceName = "EncryptSignPolicyHelloService")
13 | @Policy(placement = Policy.Placement.BINDING, uri = "encrypt-sign-policy.xml")
14 | public interface EncryptSignPolicyHelloService extends AbstractHelloService {
15 | // end::quarkus-cxf-rt-ws-security.adoc[]
16 | @WebMethod
17 | @Override
18 | String hello(String text);
19 | }
20 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/ws-security-policy/HttpsPolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | * A service implementation with a transport policy set
10 | */
11 | @WebService(serviceName = "HttpsPolicyHelloService")
12 | @Policy(placement = Policy.Placement.BINDING, uri = "https-policy.xml")
13 | public interface HttpsPolicyHelloService extends AbstractHelloService {
14 |
15 | @WebMethod
16 | @Override
17 | public String hello(String text);
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/ws-security-policy/UsernameTokenPolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | *
10 | */
11 | // tag::ws-securitypolicy-auth.adoc[]
12 | @WebService(serviceName = "UsernameTokenPolicyHelloService")
13 | @Policy(placement = Policy.Placement.BINDING, uri = "username-token-policy.xml")
14 | public interface UsernameTokenPolicyHelloService extends AbstractHelloService {
15 | // end::ws-securitypolicy-auth.adoc[]
16 | @WebMethod
17 | @Override
18 | String hello(String text);
19 | }
20 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/ws-security-policy/UsernameTokenTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import org.assertj.core.api.Assertions;
4 | import org.junit.jupiter.api.Test;
5 |
6 | import io.quarkiverse.cxf.annotation.CXFClient;
7 | import io.quarkus.test.junit.QuarkusTest;
8 |
9 | @QuarkusTest
10 | public class UsernameTokenTest {
11 |
12 | @CXFClient("helloUsernameToken")
13 | UsernameTokenPolicyHelloService helloUsernameToken;
14 |
15 | @Test
16 | void helloUsernameToken() {
17 | Assertions.assertThat(helloUsernameToken.hello("CXF")).isEqualTo("Hello CXF from UsernameToken!");
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/ws-trust/TrustHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.trust.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policies;
7 | import org.apache.cxf.annotations.Policy;
8 |
9 | //tag::ws-trust-usage.adoc-service[]
10 | @WebService(targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust")
11 | @Policy(placement = Policy.Placement.BINDING, uri = "classpath:/asymmetric-saml2-policy.xml")
12 | public interface TrustHelloService {
13 | @WebMethod
14 | @Policies({
15 | @Policy(placement = Policy.Placement.BINDING_OPERATION_INPUT, uri = "classpath:/io-policy.xml"),
16 | @Policy(placement = Policy.Placement.BINDING_OPERATION_OUTPUT, uri = "classpath:/io-policy.xml")
17 | })
18 | String hello(String person);
19 | }
20 | //end::ws-trust-usage.adoc-service[]
21 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/ws-trust/TrustHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.trust.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | //tag::ws-trust-usage.adoc-service[]
7 | @WebService(portName = "TrustHelloServicePort", serviceName = "TrustHelloService", targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust", endpointInterface = "io.quarkiverse.cxf.it.ws.trust.server.TrustHelloService")
8 | public class TrustHelloServiceImpl implements TrustHelloService {
9 | @WebMethod
10 | @Override
11 | public String hello(String person) {
12 | return "Hello " + person + "!";
13 | }
14 | }
15 | //end::ws-trust-usage.adoc-service[]
--------------------------------------------------------------------------------
/docs/modules/ROOT/examples/wsdl2java/global-jaxb-bindings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/images/code-quarkus-io.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/docs/modules/ROOT/images/code-quarkus-io.png
--------------------------------------------------------------------------------
/docs/modules/ROOT/images/release-notes-2-10-0-since.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/docs/modules/ROOT/images/release-notes-2-10-0-since.png
--------------------------------------------------------------------------------
/docs/modules/ROOT/images/release-notes-2-7-0-devui-services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/docs/modules/ROOT/images/release-notes-2-7-0-devui-services.png
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/2.2.1.adoc:
--------------------------------------------------------------------------------
1 | [[rn-2-2-1]]
2 | = {quarkus-cxf-project-name} 2.2.1 LTS release notes
3 |
4 | == New and noteworthy in {quarkus-cxf-project-name}
5 |
6 | === HTTP Async Transport extension stable
7 |
8 | The `quarkus-cxf-rt-transports-http-hc5` has got a proper test and its support status was upgraded to `stable`.
9 |
10 | == Fixed bugs
11 |
12 | * https://github.com/quarkiverse/quarkus-cxf/issues/939[`org.apache.wss4j.dom.transform.STRTransform` broken in WSS4j 3.0.0]
13 |
14 | == Full changelog
15 |
16 | https://github.com/quarkiverse/quarkus-cxf/compare/2.2.0+++...+++2.2.1
17 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/2.2.2.adoc:
--------------------------------------------------------------------------------
1 | [[rn-2-2-2]]
2 | = {quarkus-cxf-project-name} 2.2.2 LTS release notes
3 |
4 | == Fixed bugs
5 |
6 | * https://github.com/quarkiverse/quarkus-cxf/issues/860[io.quarkus.builder.ChainBuildException: Cycle detected]
7 |
8 | == Full changelog
9 |
10 | https://github.com/quarkiverse/quarkus-cxf/compare/2.2.1+++...+++2.2.2
11 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/2.3.0.adoc:
--------------------------------------------------------------------------------
1 | [[rn-2-3-0]]
2 | = {quarkus-cxf-project-name} 2.3.0 release notes
3 |
4 | == Important dependency upgrades:
5 |
6 | * Quarkus 3.2.0 -> 3.3.0 - https://quarkus.io/blog/quarkus-3-3-0-released/[Quarkus 3.3.0 release notes]
7 |
8 | == Full changelog
9 |
10 | https://github.com/quarkiverse/quarkus-cxf/compare/2.2.2+++...+++2.3.0
11 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/2.4.0.adoc:
--------------------------------------------------------------------------------
1 | [[rn-2-4-0]]
2 | = {quarkus-cxf-project-name} 2.4.0 release notes
3 |
4 | == Important dependency upgrades:
5 |
6 | * Quarkus 3.3.0 -> 3.4.1 - https://quarkus.io/blog/quarkus-3-4-1-released/[Quarkus 3.4.1 release notes]
7 |
8 | == New and noteworthy in {quarkus-cxf-project-name}
9 |
10 | === More `wsdl2java` options configurable through `application.properties`
11 |
12 | See the updated xref:user-guide/contract-first-code-first/generate-java-from-wsdl.adoc[Generate Java from WSDL] page.
13 |
14 | == Fixed bugs
15 |
16 | * https://github.com/quarkiverse/quarkus-cxf/issues/491[Injected CXFClientInfo does not reflect the wsdl and client-endpoint-url set in application.properties]
17 |
18 | == Full changelog
19 |
20 | https://github.com/quarkiverse/quarkus-cxf/compare/2.3.1+++...+++2.4.0
21 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/2.6.1.adoc:
--------------------------------------------------------------------------------
1 | [[rn-2-6-1]]
2 | = {quarkus-cxf-project-name} 2.6.1 release notes
3 |
4 | This maintenance release brings no fixes visible in end user applications.
5 | It is rather fixing some project internal build and testing issues.
6 |
7 | == Full changelog
8 |
9 | https://github.com/quarkiverse/quarkus-cxf/compare/2.6.0+++...+++2.6.1
10 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/2.7.1.adoc:
--------------------------------------------------------------------------------
1 | [[rn-2-7-1]]
2 | = {quarkus-cxf-project-name} 2.7.1 release notes
3 |
4 | This maintenance release brings no fixes visible in end user applications.
5 | It is rather fixing some project internal build and testing issues.
6 |
7 | == Full changelog
8 |
9 | https://github.com/quarkiverse/quarkus-cxf/compare/2.7.0+++...+++2.7.1
10 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.11.1.adoc:
--------------------------------------------------------------------------------
1 | [[rn-3-11-1]]
2 | = {quarkus-cxf-project-name} 3.11.1 release notes
3 |
4 | == New and noteworthy in {quarkus-cxf-project-name}
5 |
6 | === https://github.com/quarkiverse/quarkus-cxf/issues/1399[#1399] Beans not injected into a service impl with `@CXFEndpoint("/my-path")`
7 |
8 | In {quarkus-cxf-project-name} 3.11.0, we added a new feature allowing to specify service endpoint paths through a new annotation `@CXFEndpoint("/myPath")`.
9 | The new code did not work well for service implementation classes having both `@WebService` and `@CXFEndpoint` annotations.
10 | In those cases, if the service had some `@Inject` fields, those fields were left blank and the service call has thrown a `NullPointerException`.
11 | This issue was fixed in In {quarkus-cxf-project-name} 3.11.1.
12 |
13 | == Full changelog
14 |
15 | https://github.com/quarkiverse/quarkus-cxf/compare/3.11.0+++...+++3.11.1
16 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.12.0.adoc:
--------------------------------------------------------------------------------
1 | [[rn-3-12-0]]
2 | = {quarkus-cxf-project-name} 3.12.0 release notes
3 |
4 | == Important dependency upgrades
5 |
6 | * Quarkus 3.11.x -> 3.12.0 - https://quarkus.io/blog/quarkus-3-12-0-released/[release notes]
7 |
8 | == New and noteworthy in {quarkus-cxf-project-name}
9 |
10 | There are no changes with a direct user impact in this release. We just did some housekeeping.
11 |
12 | == Full changelog
13 |
14 | https://github.com/quarkiverse/quarkus-cxf/compare/3.11.1+++...+++3.12.0
15 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.16.1.adoc:
--------------------------------------------------------------------------------
1 | = {quarkus-cxf-project-name} 3.16.1 release notes
2 |
3 | Compared to xref:release-notes/3.16.0.adoc[3.16.0], there are no user facing changes in this release.
4 | We had to do it only because on the first attempt,
5 | the https://quarkus.io/blog/quarkiverse-and-smallrye-new-release-process/[new release process]
6 | failed to deploy some testing artifact to Maven Central that was required for validation on
7 | https://github.com/quarkusio/quarkus-platform[Quarkus Platform].
8 |
9 | == Full changelog
10 |
11 | https://github.com/quarkiverse/quarkus-cxf/compare/3.16.0+++...+++3.16.1
12 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.17.2.adoc:
--------------------------------------------------------------------------------
1 | = {quarkus-cxf-project-name} 3.17.2 release notes
2 |
3 | == Important dependency upgrades
4 |
5 | * Quarkus 3.17.2 -> 3.17.3 - https://quarkus.io/blog/quarkus-3-17-3-released/[Release notes]
6 | * `org.apache.httpcomponents.client5:httpclient5` 5.2.3 -> 5.4.1 - https://downloads.apache.org/httpcomponents/httpclient/RELEASE_NOTES-5.4.x.txt[Release notes]
7 | * `org.apache.httpcomponents.core5:httpcore5` 5.2.5 -> 5.3.1 - https://downloads.apache.org/httpcomponents/httpcore/RELEASE_NOTES-5.3.x.txt[Release notes]
8 |
9 | == Full changelog
10 |
11 | https://github.com/quarkiverse/quarkus-cxf/compare/3.17.1+++...+++3.17.2
12 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.20.1.adoc:
--------------------------------------------------------------------------------
1 | = {quarkus-cxf-project-name} 3.20.1 release notes
2 |
3 | == New and noteworthy in {quarkus-cxf-project-name}
4 |
5 | === https://github.com/quarkiverse/quarkus-cxf/issues/1776[#1776] Backport adding `io.quarkiverse.cxf.CxfTlsConfiguration.getName()`
6 |
7 | There was a backwards incompatible change in Quarkus 3.21.1,
8 | because of which we had to release {quarkus-cxf-project-name} 3.21.1.
9 | Quarkus team announced that they plan to backport that change to their 3.20 LTS stream too.
10 | By backporting the fix to our 3.20 stream, we prepare for that incompatibility in advance.
11 |
12 | == Full changelog
13 |
14 | https://github.com/quarkiverse/quarkus-cxf/compare/3.20.0+++...+++3.20.1
15 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.20.2.adoc:
--------------------------------------------------------------------------------
1 | = {quarkus-cxf-project-name} 3.20.2 release notes
2 |
3 | There are no end user facing changes in this release. We only fixed some testing issues.
4 |
5 | == Full changelog
6 |
7 | https://github.com/quarkiverse/quarkus-cxf/compare/3.20.1+++...+++3.20.2
8 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.21.0.adoc:
--------------------------------------------------------------------------------
1 | = {quarkus-cxf-project-name} 3.21.0 release notes
2 |
3 | Nothing new compared to xref:release-notes/3.20.0.adoc[3.20.0] except for the Quarkus upgrade.
4 |
5 | == Important dependency upgrades
6 |
7 | * Quarkus 3.20.x -> 3.21.0 - https://quarkus.io/blog/quarkus-3-21-0-released/[release notes]
8 |
9 | == Full changelog
10 |
11 | https://github.com/quarkiverse/quarkus-cxf/compare/3.20.0+++...+++3.21.0
12 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.21.1.adoc:
--------------------------------------------------------------------------------
1 | = {quarkus-cxf-project-name} 3.21.1 release notes
2 |
3 | == Important dependency upgrades
4 |
5 | * Quarkus 3.21.0 -> 3.21.1 - https://quarkus.io/blog/quarkus-3-21-1-released/[release notes]
6 |
7 | == Fixed issues
8 |
9 | === Incompatibility with Quarkus 3.21.1
10 |
11 | The `getName()` method was added to the `io.quarkus.tls.TlsConfiguration` interface that {quarkus-cxf-project-name} also implements,
12 | thus causing an incompatibility.
13 | Since {quarkus-cxf-project-name} 3.21.1, {quarkus-cxf-project-name} implements that method too.
14 |
15 | == Full changelog
16 |
17 | https://github.com/quarkiverse/quarkus-cxf/compare/3.21.0+++...+++3.21.1
18 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.23.1.adoc:
--------------------------------------------------------------------------------
1 | = {quarkus-cxf-project-name} 3.23.1 release notes
2 |
3 | == Important dependency upgrades
4 |
5 | * CXF 4.1.1 -> 4.1.2 - https://cxf.apache.org/download.html[release notes], link:https://github.com/apache/cxf/compare/cxf-4.1.1+++...+++cxf-4.1.2[changelog]
6 |
7 | == Full changelog
8 |
9 | https://github.com/quarkiverse/quarkus-cxf/compare/3.23.0+++...+++3.23.1
10 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.8.3.adoc:
--------------------------------------------------------------------------------
1 | [[rn-3-8-3]]
2 | = {quarkus-cxf-project-name} 3.8.3 (LTS) release notes
3 |
4 | == New and noteworthy in {quarkus-cxf-project-name}
5 |
6 | This release contains just two bug fixes. Check the changelog below for details.
7 |
8 | == Full changelog
9 |
10 | https://github.com/quarkiverse/quarkus-cxf/compare/3.8.2+++...+++3.8.3
11 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/release-notes/3.8.5.adoc:
--------------------------------------------------------------------------------
1 | [[rn-3-8-5]]
2 | = {quarkus-cxf-project-name} 3.8.5 (LTS) release notes
3 |
4 | == Important dependency upgrades:
5 |
6 | * Quarkus 3.8.4 -> 3.8.5 - https://quarkus.io/blog/quarkus-3-8-5-released/[release notes]
7 |
8 | == New and noteworthy in {quarkus-cxf-project-name}
9 |
10 | === Support for `@CXFEndpoint("/myPath")` reverted
11 |
12 | In {quarkus-cxf-project-name} 3.8.4 we mistakenly backported a new feature to the 3.8 maintenance branch.
13 | This change was reverted in 3.8.5.
14 |
15 | == Full changelog
16 |
17 | https://github.com/quarkiverse/quarkus-cxf/compare/3.8.4+++...+++3.8.5
18 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/security-guide/index.adoc:
--------------------------------------------------------------------------------
1 | [[security-guide-index]]
2 | = Security guide
3 |
4 | The security guide documents various security related aspects of {quarkus-cxf-project-name}:
5 |
6 | * xref:user-guide/ssl-tls-https.adoc[SSL, TLS and HTTPS]
7 | * xref:user-guide/authentication-authorization.adoc[Authentication and authorization]
8 | * xref:security-guide/ws-securitypolicy-authentication-authorization.adoc[Authentication enforced by WS-SecurityPolicy]
9 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/user-guide/advanced-client-topics/cdi-scope-of-cxfclient.adoc:
--------------------------------------------------------------------------------
1 | [[cdi-scope-of-cxfclient]]
2 | = CDI scope of clients injected via `@CXFClient`
3 |
4 | {quarkus-cxf-project-name} produces all clients injected via `@io.quarkiverse.cxf.annotation.CXFClient` in the default `@Dependent` scope.
5 | Due to that, the real scope of the injected instance depends on the CDI scope of the bean into which the client is injected.
6 |
7 | Therefore, if the client is injected into an `@ApplicationScoped` bean, then the client instance also becomes `@ApplicationScoped`.
8 | If the client is injected into an `@RequestScoped` bean, then the client instance also becomes `@RequestScoped`.
9 |
10 | This behavior comes in handy if you need to
11 | xref:user-guide/advanced-client-topics/dynamic-client-configuration.adoc[configure clients dynamically]
12 | after the application was started.
13 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/user-guide/advanced-client-topics/client-endpoint-url-defaults.adoc:
--------------------------------------------------------------------------------
1 | [[client-endpoint-url-defaults]]
2 | = `client-endpoint-url` defaults
3 |
4 | If you omit the `client-endpoint-url` property in `application.properties`,
5 | the CXF Quarkus extension will assume that the service is published at `\http://localhost:8080/\{service-path}`,
6 | where `\{service-path}` is derived from
7 |
8 | * Configuration property `quarkus.cxf.path` (if specified); and the
9 | * SEI’s class name in lower case
10 |
11 | Given `quarkus.cxf.path = /ws`, the default effective `client-endpoint-url` of the `CalculatorService` would be
12 | `\http://localhost:8080/ws/org.jboss.eap.quickstarts.wscalculator.calculator.calculatorservice`.
13 |
14 | If `quarkus.cxf.path` is not specified, the `client-endpoint-url` would be just
15 | `\http://localhost:8080/org.jboss.eap.quickstarts.wscalculator.calculator.calculatorservice`.
16 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/user-guide/advanced-client-topics/configure-multiple-clients.adoc:
--------------------------------------------------------------------------------
1 | [[configure-multiple-clients]]
2 | = Configure multiple clients
3 |
4 | In the example above, we configured just a single client called `myCalculator`.
5 | Of course, you can configure multiple clients pointing at different URLs and/or implementing different SEIs using multiple identifiers:
6 |
7 | .application.properties
8 | [source,properties]
9 | ----
10 | cxf.it.calculator.baseUri = http://localhost:8082
11 | include::example$calculator-client/application.properties[tag=first-soap-client.adoc]
12 |
13 | # another client
14 | quarkus.cxf.client.anotherCalculator.wsdl = https://acme.com/ws/WeatherService?wsdl
15 | quarkus.cxf.client.anotherCalculator.client-endpoint-url = https://acme.com/ws/WeatherService
16 | quarkus.cxf.client.anotherCalculator.service-interface = org.jboss.eap.quickstarts.wscalculator.calculator.CalculatorService
17 | ----
18 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/user-guide/advanced-client-topics/pure-client-applications.adoc:
--------------------------------------------------------------------------------
1 | [[pure-client-applications]]
2 | = Pure client applications
3 |
4 | Quarkus batch (e.g. periodically scheduled), or command line applications, may do without an HTTP server.
5 | Use the property below to prevent launching the HTTP server at startup:
6 |
7 | [source,properties]
8 | ----
9 | quarkus.http.host-enabled = false
10 | ----
11 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/user-guide/advanced-service-topics.adoc:
--------------------------------------------------------------------------------
1 | [[advanced-service-topics]]
2 | = Advanced service topics
3 |
4 | Check the following chapters for more details about implementing SOAP service endpoints:
5 |
6 | * xref:user-guide/advanced-service-topics/endpoints-and-paths.adoc[Endpoints and paths]
7 | * xref:user-guide/advanced-service-topics/jax-ws-providers.adoc[JAX-WS Providers]
8 | * xref:user-guide/advanced-service-topics/rest-and-soap-endpoints.adoc[REST and SOAP Endpoints]
9 | * xref:user-guide/advanced-service-topics/running-behind-a-reverse-proxy.adoc[Running behind a reverse proxy]
10 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/user-guide/camel-integration.adoc:
--------------------------------------------------------------------------------
1 | [[camel-integration]]
2 | = Camel Integration
3 |
4 | {link-camel-quarkus-docs-index}[Camel Quarkus] supports CXF since its version 2.12.0.
5 | Under the hood, the implementation is based on {quarkus-cxf-project-name}.
6 | Therefore, all functionality available in {quarkus-cxf-project-name} is also available in Camel Quarkus.
7 |
8 | Refer to {link-camel-quarkus-docs-cxf-soap}[Camel Quarkus CXF SOAP] extension documentation for further details.
9 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/user-guide/examples.adoc:
--------------------------------------------------------------------------------
1 | [[examples]]
2 | = Examples
3 |
4 | The {link-quarkus-cxf-source-tree-base}/integration-tests[`integration-tests` folder] of the codebase provides various examples
5 | that demonstrate how to use this extension extensively.
6 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/user-guide/index.adoc:
--------------------------------------------------------------------------------
1 | [[user-guide-index]]
2 | = User guide
3 |
4 | This User guide explains typical use cases of {quarkus-cxf-project-name}.
5 |
6 | You may want to start with some of the following topics:
7 |
8 | * xref:user-guide/create-project.adoc[Create a new project]
9 | * xref:user-guide/first-soap-web-service.adoc[Your first SOAP Web service]
10 | * xref:user-guide/first-soap-client.adoc[Your first SOAP Client]
11 |
--------------------------------------------------------------------------------
/docs/modules/ROOT/pages/user-guide/interceptors-features-handlers.adoc:
--------------------------------------------------------------------------------
1 | [[interceptors-features-handlers]]
2 | = CXF Interceptors and Features, JAX-WS Handlers
3 |
4 | Check the following chapters to learn a bout various ways to customize the processing of SOAP requests and responses:
5 |
6 | * xref:user-guide/interceptors-features-handlers/cxf-interceptors-and-features.adoc[CXF Interceptors and Features]
7 | * xref:user-guide/interceptors-features-handlers/jax-ws-handlers.adoc[JAX-WS Handlers]
8 |
--------------------------------------------------------------------------------
/docs/src/main/resources/META-INF/resources/workaround-issue-39735:
--------------------------------------------------------------------------------
1 | https://github.com/quarkusio/quarkus/issues/39735
--------------------------------------------------------------------------------
/docs/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.vertx.caching = false
--------------------------------------------------------------------------------
/extensions/core/axiom-api-stub/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-core
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-axiom-api-stub
12 | Quarkus CXF - Axiom API Stub
13 | Some dummy stubs of classes from Apache Axion API to make GraalVM happy. Note that CXF excludes those so they are not required for CXF to work properly
14 |
15 |
16 |
--------------------------------------------------------------------------------
/extensions/core/axiom-api-stub/src/main/java/org/apache/axiom/om/OMException.java:
--------------------------------------------------------------------------------
1 | package org.apache.axiom.om;
2 |
3 | public class OMException extends RuntimeException {
4 |
5 | /** */
6 | private static final long serialVersionUID = 1L;
7 |
8 | public OMException() {
9 | }
10 |
11 | public OMException(String message) {
12 | super(message);
13 | }
14 |
15 | public OMException(String message, Throwable cause) {
16 | super(message, cause);
17 | }
18 |
19 | public OMException(Throwable cause) {
20 | super(cause);
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/java/io/quarkiverse/cxf/deployment/BuildTimeBusBuildItem.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment;
2 |
3 | import org.apache.cxf.Bus;
4 |
5 | import io.quarkus.builder.item.SimpleBuildItem;
6 |
7 | /**
8 | * Holds the build time {@link Bus} instance.
9 | */
10 | public final class BuildTimeBusBuildItem extends SimpleBuildItem {
11 | private final Bus bus;
12 |
13 | public Bus getBus() {
14 | return bus;
15 | }
16 |
17 | public BuildTimeBusBuildItem(Bus bus) {
18 | super();
19 | this.bus = bus;
20 | }
21 |
22 | }
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/java/io/quarkiverse/cxf/deployment/CXFServletInfosBuildItem.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment;
2 |
3 | import io.quarkiverse.cxf.CXFServletInfos;
4 | import io.quarkus.builder.item.SimpleBuildItem;
5 | import io.quarkus.runtime.RuntimeValue;
6 |
7 | /**
8 | * Holds the runtime {@link CXFServletInfos} reference.
9 | */
10 | public final class CXFServletInfosBuildItem extends SimpleBuildItem {
11 | private final RuntimeValue cxfServletInfos;
12 |
13 | public CXFServletInfosBuildItem(RuntimeValue cxfServletInfos) {
14 | super();
15 | this.cxfServletInfos = cxfServletInfos;
16 | }
17 |
18 | public RuntimeValue getCxfServletInfos() {
19 | return cxfServletInfos;
20 | }
21 |
22 | }
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/java/io/quarkiverse/cxf/deployment/ClientSeiBuildItem.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment;
2 |
3 | import java.util.Objects;
4 |
5 | import io.quarkus.builder.item.MultiBuildItem;
6 |
7 | /**
8 | * Holds a fully qualified class name of a service interface used by a client for purposes of ancillary
9 | * class generation at build time.
10 | */
11 | public final class ClientSeiBuildItem extends MultiBuildItem {
12 | private final String sei;
13 |
14 | public ClientSeiBuildItem(String sei) {
15 | super();
16 | this.sei = Objects.requireNonNull(sei, "sei cannot be null");
17 | }
18 |
19 | public String getSei() {
20 | return sei;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/java/io/quarkiverse/cxf/deployment/CxfClientBuildItem.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment;
2 |
3 | /**
4 | * Holds a client endpoint metadata.
5 | */
6 | public final class CxfClientBuildItem extends AbstractEndpointBuildItem {
7 | private final String sei;
8 | private final boolean proxyClassRuntimeInitialized;
9 |
10 | public CxfClientBuildItem(String sei, String soapBinding, String wsNamespace,
11 | String wsName, boolean runtimeInitialized) {
12 | super(soapBinding, wsNamespace, wsName);
13 | this.sei = sei;
14 | this.proxyClassRuntimeInitialized = runtimeInitialized;
15 | }
16 |
17 | public String getSei() {
18 | return sei;
19 | }
20 |
21 | public boolean isProxyClassRuntimeInitialized() {
22 | return proxyClassRuntimeInitialized;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/java/io/quarkiverse/cxf/deployment/QuarkusCxfFeature.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment;
2 |
3 | import io.quarkus.deployment.builditem.FeatureBuildItem;
4 |
5 | public enum QuarkusCxfFeature {
6 | CXF("cxf");
7 |
8 | private final String key;
9 |
10 | private QuarkusCxfFeature(String key) {
11 | this.key = key;
12 | }
13 |
14 | public String getKey() {
15 | return key;
16 | }
17 |
18 | public FeatureBuildItem asFeature() {
19 | return new FeatureBuildItem(this.key);
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/java/io/quarkiverse/cxf/deployment/RuntimeBusBuildItem.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment;
2 |
3 | import org.apache.cxf.Bus;
4 |
5 | import io.quarkus.builder.item.SimpleBuildItem;
6 | import io.quarkus.runtime.RuntimeValue;
7 |
8 | /**
9 | * Holds the runtime {@link Bus} reference.
10 | */
11 | public final class RuntimeBusBuildItem extends SimpleBuildItem {
12 | private final RuntimeValue bus;
13 |
14 | public RuntimeValue getBus() {
15 | return bus;
16 | }
17 |
18 | public RuntimeBusBuildItem(RuntimeValue bus) {
19 | super();
20 | this.bus = bus;
21 | }
22 |
23 | }
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/java/io/quarkiverse/cxf/deployment/RuntimeBusCustomizerBuildItem.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment;
2 |
3 | import java.util.function.Consumer;
4 |
5 | import org.apache.cxf.Bus;
6 |
7 | import io.quarkus.builder.item.MultiBuildItem;
8 | import io.quarkus.runtime.RuntimeValue;
9 |
10 | /**
11 | * Holds a {@link Consumer} that will be used to customize the runtime {@link Bus} right after its creation.
12 | */
13 | public final class RuntimeBusCustomizerBuildItem extends MultiBuildItem {
14 | private final RuntimeValue> customizer;
15 |
16 | public RuntimeBusCustomizerBuildItem(RuntimeValue> customizer) {
17 | super();
18 | this.customizer = customizer;
19 | }
20 |
21 | public RuntimeValue> getCustomizer() {
22 | return customizer;
23 | }
24 |
25 | }
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/java/io/quarkiverse/cxf/deployment/ServiceSeiBuildItem.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment;
2 |
3 | import java.util.Objects;
4 |
5 | import io.quarkus.builder.item.MultiBuildItem;
6 |
7 | /**
8 | * Holds a fully qualified class name of a service implementation or of a service interface for purposes of ancillary
9 | * class generation at build time.
10 | */
11 | public final class ServiceSeiBuildItem extends MultiBuildItem {
12 | private final String sei;
13 |
14 | public ServiceSeiBuildItem(String sei) {
15 | super();
16 | this.sei = Objects.requireNonNull(sei, "sei cannot be null");
17 | }
18 |
19 | public String getSei() {
20 | return sei;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/java/io/quarkiverse/cxf/quarkus/vertx/http/client/deployment/VertxWebClientProcessor.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.quarkus.vertx.http.client.deployment;
2 |
3 | import io.quarkiverse.cxf.vertx.http.client.HttpClientPool;
4 | import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
5 | import io.quarkus.deployment.annotations.BuildProducer;
6 | import io.quarkus.deployment.annotations.BuildStep;
7 |
8 | public class VertxWebClientProcessor {
9 |
10 | @BuildStep
11 | void additionalBeans(BuildProducer additionalBeans) {
12 | additionalBeans.produce(AdditionalBeanBuildItem.unremovableOf(HttpClientPool.class));
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider:
--------------------------------------------------------------------------------
1 | io.quarkiverse.cxf.deployment.codegen.Wsdl2JavaCodeGen
2 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/logging/HelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.logging;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * The simplest Hello service.
8 | */
9 | @WebService(targetNamespace = "http://deployment.logging.features.cxf.quarkiverse.io/")
10 | public interface HelloService {
11 |
12 | @WebMethod
13 | String hello(String text);
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/logging/HelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.logging;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * The simplest Hello service implementation.
8 | */
9 | @WebService(serviceName = "HelloService")
10 | public class HelloServiceImpl implements HelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + "!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/logging/NamedLoggingFeatureProducer.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.logging;
2 |
3 | import jakarta.enterprise.context.ApplicationScoped;
4 | import jakarta.enterprise.inject.Produces;
5 | import jakarta.inject.Named;
6 |
7 | import org.apache.cxf.ext.logging.LoggingFeature;
8 |
9 | public class NamedLoggingFeatureProducer {
10 |
11 | @Produces
12 | @ApplicationScoped
13 | @Named("namedLoggingFeature")
14 | // no @Unremovable annotation here
15 | LoggingFeature namedLoggingFeature() {
16 | LoggingFeature loggingFeature = new LoggingFeature();
17 | loggingFeature.setPrettyLogging(true);
18 | return loggingFeature;
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/Add.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test;
2 |
3 | import jakarta.xml.bind.annotation.XmlAccessType;
4 | import jakarta.xml.bind.annotation.XmlAccessorType;
5 | import jakarta.xml.bind.annotation.XmlElement;
6 | import jakarta.xml.bind.annotation.XmlType;
7 |
8 | @XmlAccessorType(XmlAccessType.FIELD)
9 | @XmlType(name = "Add", propOrder = {
10 | "fruit"
11 | })
12 | public class Add {
13 |
14 | @XmlElement(name = "fruit")
15 | protected Fruit fruit;
16 |
17 | /**
18 | * Obtient la valeur de la propriété addResult.
19 | *
20 | */
21 | public Fruit getFruit() {
22 | return fruit;
23 | }
24 |
25 | /**
26 | * Définit la valeur de la propriété addResult.
27 | *
28 | */
29 | public void setFruit(Fruit value) {
30 | this.fruit = value;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/Delete.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test;
2 |
3 | import jakarta.xml.bind.annotation.XmlAccessType;
4 | import jakarta.xml.bind.annotation.XmlAccessorType;
5 | import jakarta.xml.bind.annotation.XmlElement;
6 | import jakarta.xml.bind.annotation.XmlType;
7 |
8 | @XmlAccessorType(XmlAccessType.FIELD)
9 | @XmlType(name = "Delete", propOrder = {
10 | "fruit"
11 | })
12 | public class Delete {
13 |
14 | @XmlElement(name = "fruit")
15 | protected Fruit fruit;
16 |
17 | /**
18 | * Obtient la valeur de la propriété addResult.
19 | *
20 | */
21 | public Fruit getFruit() {
22 | return fruit;
23 | }
24 |
25 | /**
26 | * Définit la valeur de la propriété addResult.
27 | *
28 | */
29 | public void setFruit(Fruit value) {
30 | this.fruit = value;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/GreetingWebService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebResult;
5 | import jakarta.jws.WebService;
6 |
7 | @WebService
8 | public interface GreetingWebService {
9 |
10 | @WebMethod
11 | @WebResult(name = "hello", targetNamespace = "http://test.deployment.cxf.quarkiverse.io/", partName = "parameters")
12 | String hello();
13 |
14 | @WebMethod
15 | @WebResult(name = "ping", targetNamespace = "http://test.deployment.cxf.quarkiverse.io/", partName = "parameters")
16 | void ping();
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/GreetingWebServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test;
2 |
3 | import jakarta.jws.WebService;
4 |
5 | @WebService(endpointInterface = "io.quarkiverse.cxf.deployment.test.GreetingWebService", serviceName = "GreetingWebService")
6 | public class GreetingWebServiceImpl implements GreetingWebService {
7 | @Override
8 | public String hello() {
9 | return "hello world";
10 | }
11 |
12 | @Override
13 | public void ping() {
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/HelloWebServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test;
2 |
3 | import jakarta.jws.WebService;
4 |
5 | @WebService(endpointInterface = "io.quarkiverse.cxf.deployment.test.GreetingWebService", serviceName = "GreetingWebService")
6 | public class HelloWebServiceImpl implements GreetingWebService {
7 | @Override
8 | public String hello() {
9 | return "hello world from HelloWebServiceImpl";
10 | }
11 |
12 | @Override
13 | public void ping() {
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/client/model/package-info.java:
--------------------------------------------------------------------------------
1 | @jakarta.xml.bind.annotation.XmlSchema(namespace = "http://test.deployment.cxf.quarkiverse.io/")
2 | package io.quarkiverse.cxf.deployment.test.client.model;
3 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/dev/DevUiRemoteStatsImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test.dev;
2 |
3 | import jakarta.jws.WebService;
4 |
5 | import io.quarkiverse.cxf.annotation.CXFClient;
6 |
7 | @WebService(name = "DevUiStats", serviceName = "DevUiStats")
8 | public class DevUiRemoteStatsImpl implements DevUiStats {
9 |
10 | @CXFClient("stats")
11 | DevUiStats stats;
12 |
13 | @CXFClient
14 | DevUiStats keyLessStats;
15 |
16 | @Override
17 | public int getClientCount() {
18 | return stats.getClientCount();
19 | }
20 |
21 | @Override
22 | public String getClient(int index) {
23 | return stats.getClient(index);
24 | }
25 |
26 | @Override
27 | public int getServiceCount() {
28 | return stats.getServiceCount();
29 | }
30 |
31 | @Override
32 | public String getService(int index) {
33 | return stats.getService(index);
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/dev/DevUiStats.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test.dev;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | @WebService(serviceName = "DevUiStats")
7 | public interface DevUiStats {
8 |
9 | @WebMethod
10 | int getClientCount();
11 |
12 | @WebMethod
13 | String getClient(int index);
14 |
15 | @WebMethod
16 | int getServiceCount();
17 |
18 | @WebMethod
19 | String getService(int index);
20 |
21 | }
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/path/CxfPathTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test.path;
2 |
3 | import org.junit.jupiter.api.extension.RegisterExtension;
4 |
5 | import io.quarkus.test.QuarkusUnitTest;
6 |
7 | public class CxfPathTest extends AbstractCxfPathTest {
8 |
9 | @RegisterExtension
10 | public static final QuarkusUnitTest test = createDeployment(null, "/CxfPathTest");
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/path/DefaultPathsTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test.path;
2 |
3 | import org.junit.jupiter.api.extension.RegisterExtension;
4 |
5 | import io.quarkus.test.QuarkusUnitTest;
6 |
7 | public class DefaultPathsTest extends AbstractCxfPathTest {
8 |
9 | @RegisterExtension
10 | public static final QuarkusUnitTest test = createDeployment(null, null);
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/path/QuarkusRootPathAndCxfPathTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test.path;
2 |
3 | import org.junit.jupiter.api.extension.RegisterExtension;
4 |
5 | import io.quarkus.test.QuarkusUnitTest;
6 |
7 | public class QuarkusRootPathAndCxfPathTest extends AbstractCxfPathTest {
8 |
9 | @RegisterExtension
10 | public static final QuarkusUnitTest test = createDeployment("/quarkus-root-path", "/cxf-endpoints");
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/extensions/core/deployment/src/test/java/io/quarkiverse/cxf/deployment/test/path/QuarkusRootPathTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.deployment.test.path;
2 |
3 | import org.junit.jupiter.api.extension.RegisterExtension;
4 |
5 | import io.quarkus.test.QuarkusUnitTest;
6 |
7 | public class QuarkusRootPathTest extends AbstractCxfPathTest {
8 |
9 | @RegisterExtension
10 | public static final QuarkusUnitTest test = createDeployment("/quarkus-root-path", null);
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/extensions/core/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-core
12 | Quarkus CXF - Core - Parent
13 | pom
14 |
15 |
16 | axiom-api-stub
17 | runtime
18 | deployment
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/doc/standards.adoc:
--------------------------------------------------------------------------------
1 | * https://cxf.apache.org/docs/jax-ws.html[JAX-WS]
2 | * https://cxf.apache.org/docs/jaxb.html[JAXB]
3 | * https://cxf.apache.org/docs/ws-addressing.html[WS-Addressing]
4 | * https://cxf.apache.org/docs/ws-policy.html[WS-Policy]
5 | * https://cxf.apache.org/docs/mtom.html[MTOM]
6 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/CXFException.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf;
2 |
3 | public final class CXFException extends Exception {
4 |
5 | private final Object faultInfo;
6 |
7 | public CXFException(String message, Object fault) {
8 | super(message);
9 | this.faultInfo = fault;
10 | }
11 |
12 | public Object getFaultInfo() {
13 | return faultInfo;
14 | }
15 | }
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/ConnectionTypeConverter.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf;
2 |
3 | import org.apache.cxf.transports.http.configuration.ConnectionType;
4 | import org.eclipse.microprofile.config.spi.Converter;
5 |
6 | public class ConnectionTypeConverter extends AbstractEnumConverter implements Converter {
7 |
8 | private static final long serialVersionUID = 1L;
9 |
10 | public ConnectionTypeConverter() {
11 | super(ConnectionType.class, ConnectionType::value);
12 | }
13 |
14 | @Override
15 | public ConnectionType convert(String value) {
16 | return super.convert(value);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/QuarkusCxfUtils.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf;
2 |
3 | import io.smallrye.config.NameIterator;
4 |
5 | public class QuarkusCxfUtils {
6 | private QuarkusCxfUtils() {
7 | }
8 |
9 | /**
10 | * Keys occurring in free form configuration maps may need quoting with double quotes, if they contain periods.
11 | *
12 | * @param key a key occurring in a free form configuration map, such as {@code "client-name"} in
13 | * {@code quarkus.cxf.client."client-name".logging.enabled}.
14 | * @return a possibly quoted key
15 | */
16 | public static String quoteCongurationKeyIfNeeded(String key) {
17 | final NameIterator keyIterator = new NameIterator(key);
18 | keyIterator.next();
19 | return keyIterator.hasNext() ? "\"" + key + "\"" : key;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/QuarkusRuntimeJaxWsServiceFactoryBean.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf;
2 |
3 | import org.apache.cxf.jaxws.support.JaxWsImplementorInfo;
4 | import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
5 |
6 | public class QuarkusRuntimeJaxWsServiceFactoryBean extends JaxWsServiceFactoryBean {
7 |
8 | public QuarkusRuntimeJaxWsServiceFactoryBean(JaxWsImplementorInfo jaxWsImplementorInfo) {
9 | super(jaxWsImplementorInfo);
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/URLConnectionHTTPConduitFactory.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf;
2 |
3 | import java.io.IOException;
4 |
5 | import org.apache.cxf.Bus;
6 | import org.apache.cxf.service.model.EndpointInfo;
7 | import org.apache.cxf.transport.http.HTTPConduit;
8 | import org.apache.cxf.transport.http.HTTPConduitFactory;
9 | import org.apache.cxf.transport.http.HTTPTransportFactory;
10 | import org.apache.cxf.transport.http.URLConnectionHTTPConduit;
11 | import org.apache.cxf.ws.addressing.EndpointReferenceType;
12 |
13 | public class URLConnectionHTTPConduitFactory implements HTTPConduitFactory {
14 | @Override
15 | public HTTPConduit createConduit(HTTPTransportFactory f, Bus bus, EndpointInfo endpointInfo, EndpointReferenceType target)
16 | throws IOException {
17 | return new URLConnectionHTTPConduit(bus, endpointInfo, target);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/WebServiceContextProducer.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf;
2 |
3 | import jakarta.annotation.Resource;
4 | import jakarta.annotation.Resources;
5 | import jakarta.enterprise.context.RequestScoped;
6 | import jakarta.enterprise.inject.Produces;
7 | import jakarta.xml.ws.WebServiceContext;
8 |
9 | import org.apache.cxf.jaxws.context.WebServiceContextImpl;
10 |
11 | /**
12 | * Produces {@link WebServiceContext} beans to be injected to fieds and methods annotated with {@link Resource} or
13 | * {@link Resources}. See also io.quarkiverse.cxf.deployment.WebServiceContextProcessor#addInjectForResource().
14 | */
15 | public class WebServiceContextProducer {
16 |
17 | @Produces
18 | @RequestScoped
19 | public WebServiceContext newWebServiceContext() {
20 | return new WebServiceContextImpl();
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/devui/DevUiRecorder.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.devui;
2 |
3 | import java.util.List;
4 |
5 | import io.quarkiverse.cxf.CXFServletInfos;
6 | import io.quarkiverse.cxf.ClientInjectionPoint;
7 | import io.quarkus.runtime.RuntimeValue;
8 | import io.quarkus.runtime.ShutdownContext;
9 | import io.quarkus.runtime.annotations.Recorder;
10 |
11 | @Recorder
12 | public class DevUiRecorder {
13 | public RuntimeValue> clientInjectionPoints(List injectionPoints) {
14 | return new RuntimeValue<>(injectionPoints);
15 | }
16 |
17 | public void servletInfos(RuntimeValue cxfServletInfos) {
18 | CxfJsonRPCService.setServletInfos(cxfServletInfos.getValue());
19 | }
20 |
21 | public void shutdown(ShutdownContext context) {
22 | context.addShutdownTask(CxfJsonRPCService::shutdown);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/devui/DevUiServiceInfo.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.devui;
2 |
3 | import io.quarkiverse.cxf.CXFServletInfo;
4 |
5 | public class DevUiServiceInfo {
6 |
7 | public static DevUiServiceInfo of(CXFServletInfo info) {
8 | return new DevUiServiceInfo(info.getPath() + info.getRelativePath(), info.getClassName());
9 | }
10 |
11 | private final String path;
12 | private final String implementor;
13 |
14 | public DevUiServiceInfo(String path, String implementor) {
15 | super();
16 | this.path = path;
17 | this.implementor = implementor;
18 | }
19 |
20 | public String getPath() {
21 | return path;
22 | }
23 |
24 | public String getImplementor() {
25 | return implementor;
26 | }
27 |
28 | @Override
29 | public String toString() {
30 | return "DevUiServiceInfo [path=" + path + ", implementor=" + implementor + "]";
31 | }
32 |
33 | }
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/graal/QuarkusCxfFeature.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.graal;
2 |
3 | import org.graalvm.nativeimage.hosted.Feature;
4 | import org.graalvm.nativeimage.hosted.RuntimeClassInitialization;
5 |
6 | import io.quarkiverse.cxf.CxfClientProducer;
7 |
8 | /**
9 | *
10 | */
11 | public class QuarkusCxfFeature implements Feature {
12 | @Override
13 | public void afterRegistration(AfterRegistrationAccess access) {
14 | /*
15 | * We cannot do this using a RuntimeInitializedPackageBuildItem because it would cause a dependency cycle in
16 | * io.quarkiverse.cxf.deployment.CxfClientProcessor.collectClients()
17 | */
18 | RuntimeClassInitialization.initializeAtRunTime(CxfClientProducer.RUNTIME_INITIALIZED_PROXY_MARKER_INTERFACE_PACKAGE);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/mutiny/FailedResponse.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.mutiny;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * A combination of an {@link Exception} (via superclass) and of a response context map via {@link #getContext()}.
7 | *
8 | * @since 3.19.0
9 | */
10 | public class FailedResponse extends Exception {
11 |
12 | private static final long serialVersionUID = 1L;
13 | private final Map context;
14 |
15 | FailedResponse(Throwable cause, Map context) {
16 | super(cause);
17 | this.context = context;
18 | }
19 |
20 | public Map getContext() {
21 | return context;
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/mutiny/SucceededResponse.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.mutiny;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * A combination of a response object via {@link #payload} and of a response context map via {@link #getContext()}.
7 | *
8 | * @param
9 | * @since 3.19.0
10 | */
11 | public class SucceededResponse {
12 | private final Map context;
13 | private final T payload;
14 |
15 | SucceededResponse(T payload, Map context) {
16 | super();
17 | this.payload = payload;
18 | this.context = context;
19 | }
20 |
21 | public Map getContext() {
22 | return context;
23 | }
24 |
25 | public T getPayload() {
26 | return payload;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/runtime/proxy/RuntimeInitializedProxyMarker.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.runtime.proxy;
2 |
3 | interface RuntimeInitializedProxyMarker {
4 | }
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/transport/VertxServletConfig.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.transport;
2 |
3 | import java.util.Collections;
4 | import java.util.Enumeration;
5 |
6 | import jakarta.servlet.ServletConfig;
7 | import jakarta.servlet.ServletContext;
8 |
9 | public class VertxServletConfig implements ServletConfig {
10 | @Override
11 | public String getServletName() {
12 | return null;
13 | }
14 |
15 | @Override
16 | public ServletContext getServletContext() {
17 | return null;
18 | }
19 |
20 | @Override
21 | public String getInitParameter(String name) {
22 | return null;
23 | }
24 |
25 | @Override
26 | public Enumeration getInitParameterNames() {
27 | return Collections.emptyEnumeration();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/java/io/quarkiverse/cxf/vertx/http/client/VertxHttpException.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.vertx.http.client;
2 |
3 | public class VertxHttpException extends RuntimeException {
4 | private static final long serialVersionUID = 1L;
5 |
6 | public VertxHttpException(String message, Throwable cause) {
7 | super(message, cause);
8 | }
9 |
10 | public VertxHttpException(String message) {
11 | super(message);
12 | }
13 |
14 | public VertxHttpException(Throwable cause) {
15 | super(cause);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/resources/META-INF/cxf/bus-extensions.txt:
--------------------------------------------------------------------------------
1 | io.quarkiverse.cxf.transport.VertxDestinationFactory::true
2 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF"
4 | description: "Core capabilities for implementing SOAP clients and JAX-WS services"
5 | metadata:
6 | keywords:
7 | - "cxf"
8 | - "jaxws"
9 | - "jax-ws"
10 | - "services"
11 | - "soap"
12 | categories:
13 | - "integration"
14 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/reference/extensions/quarkus-cxf.html"
15 | status: "stable"
16 |
--------------------------------------------------------------------------------
/extensions/core/runtime/src/main/resources/META-INF/services/org.eclipse.microprofile.config.spi.Converter:
--------------------------------------------------------------------------------
1 | io.quarkiverse.cxf.ConnectionTypeConverter
2 | io.quarkiverse.cxf.EnabledFor$EnabledForConverter
3 |
--------------------------------------------------------------------------------
/extensions/features-logging/deployment/src/main/java/io/quarkiverse/cxf/features/deprecated/logging/deployment/DeprecatedLoggingProcessor.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.features.deprecated.logging.deployment;
2 |
3 | import io.quarkiverse.cxf.features.deprecated.logging.DeprecatedLoggingRecorder;
4 | import io.quarkus.deployment.annotations.BuildStep;
5 | import io.quarkus.deployment.annotations.ExecutionTime;
6 | import io.quarkus.deployment.annotations.Record;
7 |
8 | public class DeprecatedLoggingProcessor {
9 |
10 | @BuildStep
11 | @Record(ExecutionTime.RUNTIME_INIT)
12 | void warnAboutDeprecation(DeprecatedLoggingRecorder recorder) {
13 | /* Warn at build time */
14 | new DeprecatedLoggingRecorder().warnAboutDeprecation();
15 | /* Warn when starting the application */
16 | recorder.warnAboutDeprecation();
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/extensions/features-logging/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-rt-features-logging-parent
12 | Quarkus CXF - Logging Feature - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
--------------------------------------------------------------------------------
/extensions/features-logging/runtime/src/main/doc/intro.adoc:
--------------------------------------------------------------------------------
1 | [WARNING]
2 | ====
3 | This extension is deprecated since {quarkus-cxf-project-name} 2.6.0
4 | and will be removed in the next major version of {quarkus-cxf-project-name}.
5 |
6 | All functionality was moved to `xref:reference/extensions/quarkus-cxf.adoc[quarkus-cxf]` extension.
7 | ====
8 |
--------------------------------------------------------------------------------
/extensions/features-logging/runtime/src/main/java/io/quarkiverse/cxf/features/deprecated/logging/DeprecatedLoggingRecorder.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.features.deprecated.logging;
2 |
3 | import org.jboss.logging.Logger;
4 |
5 | import io.quarkus.runtime.annotations.Recorder;
6 |
7 | @Recorder
8 | public class DeprecatedLoggingRecorder {
9 | private static final Logger log = Logger.getLogger(DeprecatedLoggingRecorder.class);
10 |
11 | public void warnAboutDeprecation() {
12 | log.warn(
13 | "io.quarkiverse.cxf:quarkus-cxf-rt-features-logging is deprecated and will be removed in the future. Use io.quarkiverse.cxf:quarkus-cxf instead.");
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/features-logging/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF Logging (deprecated)"
4 | description: "Deprecated, use io.quarkiverse.cxf:quarkus-cxf instead"
5 | metadata:
6 | unlisted: true
7 | keywords:
8 | - "cxf"
9 | - "jaxws"
10 | - "jax-ws"
11 | - "services"
12 | - "soap"
13 | categories:
14 | - "integration"
15 | status:
16 | - "stable"
17 | - "deprecated"
18 |
--------------------------------------------------------------------------------
/extensions/features-metrics/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-rt-features-metrics-parent
12 | Quarkus CXF - Metrics Feature - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
--------------------------------------------------------------------------------
/extensions/features-metrics/runtime/src/main/doc/intro.adoc:
--------------------------------------------------------------------------------
1 | Collect metrics using https://micrometer.io/[Micrometer].
2 |
3 | [IMPORTANT]
4 | ====
5 | Unlike https://cxf.apache.org/docs/metrics.html[CXF Metrics feature],
6 | this {quarkus-cxf-project-name} extension does not support https://cxf.apache.org/docs/dropwizard-metrics.html[Dropwizard Metrics].
7 | Only Micrometer is supported.
8 | ====
9 |
--------------------------------------------------------------------------------
/extensions/features-metrics/runtime/src/main/java/org/apache/cxf/metrics/codahale/CodahaleSubstitutions.java:
--------------------------------------------------------------------------------
1 | package org.apache.cxf.metrics.codahale;
2 |
3 | import com.oracle.svm.core.annotate.Delete;
4 | import com.oracle.svm.core.annotate.TargetClass;
5 |
6 | /**
7 | * We do not support Dropwizard Metrics.
8 | */
9 | public class CodahaleSubstitutions {
10 |
11 | @TargetClass(ConfigProviderResolver.class)
12 | @Delete
13 | static final class ConfigProviderResolver {
14 | }
15 |
16 | @TargetClass(CodahaleMetricsContext.class)
17 | @Delete
18 | static final class CodahaleMetricsContext {
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/extensions/features-metrics/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF Metrics"
4 | metadata:
5 | keywords:
6 | - "soap"
7 | - "cxf"
8 | - "services"
9 | categories:
10 | - "integration"
11 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/reference/extensions/quarkus-cxf-rt-features-metrics.html"
12 |
--------------------------------------------------------------------------------
/extensions/integration-tracing-opentelemetry/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-integration-tracing-opentelemetry-parent
12 | Quarkus CXF - OpenTelemetry - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
--------------------------------------------------------------------------------
/extensions/integration-tracing-opentelemetry/runtime/src/main/doc/intro.adoc:
--------------------------------------------------------------------------------
1 | Generate https://opentelemetry.io/[OpenTelemetry] https://opentelemetry.io/docs/concepts/signals/traces/[traces].
2 |
3 | [IMPORTANT]
4 | ====
5 | OpenTelemetry Metrics and Logging are not supported yet on neither Quarkus nor CXF side,
6 | hence {quarkus-cxf-project-name} cannot support them either. Tracing is thus
7 | the only OpenTelemetry feature supported by this extension.
8 | ====
--------------------------------------------------------------------------------
/extensions/integration-tracing-opentelemetry/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF OpenTelemetry"
4 | metadata:
5 | keywords:
6 | - "soap"
7 | - "cxf"
8 | - "services"
9 | categories:
10 | - "integration"
11 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/reference/extensions/quarkus-cxf-integration-tracing-opentelemetry.html"
12 |
--------------------------------------------------------------------------------
/extensions/jaxb-plugins/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-jaxb-plugins-parent
12 | Quarkus CXF - JAXB Plugins for wsdl2java - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extensions/jaxb-plugins/runtime/src/main/doc/intro.adoc:
--------------------------------------------------------------------------------
1 | Embeds XJC plugins from `https://github.com/highsource/jaxb-tools/wiki/JAXB2-Basics-Plugins-List[org.jvnet.jaxb:jaxb-plugins]`
2 | for xref:user-guide/contract-first-code-first/generate-java-from-wsdl.adoc[wsdl2java] code generation.
3 |
--------------------------------------------------------------------------------
/extensions/jaxb-plugins/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "JAXB Plugins for wsdl2java"
4 | description: "Embeds XJC plugins from org.jvnet.jaxb:jaxb-plugins for wsdl2java code generation"
5 | metadata:
6 | keywords:
7 | - "soap"
8 | - "xml"
9 | - "xjc"
10 | categories:
11 | - "xml"
12 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/reference/extensions/quarkus-cxf-jaxb-plugins.html"
13 | status: "experimental"
14 |
--------------------------------------------------------------------------------
/extensions/rt-management/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-rt-management-parent
12 | Quarkus CXF - Runtime Management - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extensions/rt-management/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF Runtime Management"
4 | description: "Native support for CXf Runtime Management"
5 | metadata:
6 | unlisted: true
7 | keywords:
8 | - "jmx"
9 | categories:
10 | - "jmx"
11 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/index.html"
12 | status: "stable"
13 |
--------------------------------------------------------------------------------
/extensions/saaj/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-saaj-parent
12 | Quarkus CXF - SAAJ - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extensions/saaj/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF SAAJ"
4 | description: "Native support for SOAP with Attachments API for Java (SAAJ)"
5 | metadata:
6 | unlisted: true
7 | keywords:
8 | - "attachments"
9 | - "saaj"
10 | - "soap"
11 | - "xml"
12 | categories:
13 | - "xml"
14 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/index.html"
15 | status: "stable"
16 |
--------------------------------------------------------------------------------
/extensions/santuario-xmlsec/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-santuario-xmlsec-parent
12 | Quarkus CXF - Santuario XML Security - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extensions/santuario-xmlsec/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
2 | name: Santuario XML Security
3 | description: "Native support for Apache Santuario XML Security"
4 | metadata:
5 | keywords:
6 | - santuario
7 | - security
8 | - xml
9 | - xmlsec
10 | # guide: ...
11 | categories:
12 | - "miscellaneous"
13 | status: "stable"
14 |
--------------------------------------------------------------------------------
/extensions/services-sts/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-services-sts-parent
12 | Quarkus CXF - Security Token Service (STS) - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
--------------------------------------------------------------------------------
/extensions/services-sts/runtime/src/main/doc/intro.adoc:
--------------------------------------------------------------------------------
1 | Issue, renew and validate security tokens in context of https://cxf.apache.org/docs/ws-trust.html[WS-Trust].
--------------------------------------------------------------------------------
/extensions/services-sts/runtime/src/main/doc/standards.adoc:
--------------------------------------------------------------------------------
1 | * https://cxf.apache.org/docs/ws-trust.html[WS-Trust]
2 |
--------------------------------------------------------------------------------
/extensions/services-sts/runtime/src/main/java/org/apache/cxf/jaxrs/ext/MessageContext.java:
--------------------------------------------------------------------------------
1 | package org.apache.cxf.jaxrs.ext;
2 |
3 | /**
4 | * A stub to make GraalVm compiler happy
5 | */
6 | public class MessageContext {
7 | }
8 |
--------------------------------------------------------------------------------
/extensions/services-sts/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF STS"
4 | description: "The CXF Security Token Service (STS) implementation"
5 | metadata:
6 | keywords:
7 | - "cxf"
8 | - "jaxws"
9 | - "jax-ws"
10 | - "services"
11 | - "soap"
12 | - "ws"
13 | - "sts"
14 | - "trust"
15 | - "ws-trust"
16 | categories:
17 | - "integration"
18 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/reference/extensions/quarkus-cxf-services-sts.html"
19 | status: "stable"
20 |
--------------------------------------------------------------------------------
/extensions/woodstox/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-woodstox-parent
12 | Quarkus CXF - Woodstox - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extensions/woodstox/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF Woodstox"
4 | description: "Native support for Woodstox StAX and SAX parsers"
5 | metadata:
6 | unlisted: true
7 | keywords:
8 | - "xml"
9 | categories:
10 | - "xml"
11 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/index.html"
12 | status: "stable"
13 |
--------------------------------------------------------------------------------
/extensions/ws-rm/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-rt-ws-rm-parent
12 | Quarkus CXF - WS-ReliableMessaging - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
--------------------------------------------------------------------------------
/extensions/ws-rm/runtime/src/main/doc/intro.adoc:
--------------------------------------------------------------------------------
1 | WS-ReliableMessaging (WS-RM) is a protocol ensuring a reliable delivery of messages in a distributed environment even in presence of software, system, or network failures.
2 |
3 | This extension provides CXF framework's https://cxf.apache.org/docs/ws-reliablemessaging.html[WS-ReliableMessaging] implementation.
4 |
5 |
--------------------------------------------------------------------------------
/extensions/ws-rm/runtime/src/main/doc/standards.adoc:
--------------------------------------------------------------------------------
1 | * https://cxf.apache.org/docs/ws-reliablemessaging.html[WS-ReliableMessaging]
2 |
--------------------------------------------------------------------------------
/extensions/ws-rm/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF WS-ReliableMessaging"
4 | description: "Consume and produce web services with Web Services Reliable Messaging (WS-ReliableMessaging, WSRM)"
5 | metadata:
6 | keywords:
7 | - "cxf"
8 | - "jaxws"
9 | - "jax-ws"
10 | - "services"
11 | - "soap"
12 | - "ws"
13 | - "wsrm"
14 | - "reliable"
15 | - "messaging"
16 | - "ws-reliablemessaging"
17 | categories:
18 | - "integration"
19 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/reference/extensions/quarkus-cxf-rt-ws-rm.html"
20 | status: "stable"
21 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/io/quarkiverse/cxf/ws/security/bc/stub/BcStub.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.ws.security.bc.stub;
2 |
3 | /**
4 | * A marker class to be able to keep this stub artifact apart from the real org.bouncycastle:bcprov-jdk18on
5 | */
6 | public class BcStub {
7 | }
8 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/ASN1Encodable.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1;
2 |
3 | public interface ASN1Encodable {
4 | ASN1Primitive toASN1Primitive();
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/ASN1InputStream.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1;
2 |
3 | import java.io.IOException;
4 |
5 | public class ASN1InputStream extends java.io.FilterInputStream {
6 | public ASN1InputStream(byte[] input) {
7 | super(null);
8 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
9 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
10 | }
11 |
12 | public ASN1Primitive readObject() throws IOException {
13 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
14 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/ASN1Object.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1;
2 |
3 | import org.bouncycastle.util.Encodable;
4 |
5 | public abstract class ASN1Object
6 | implements ASN1Encodable, Encodable {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/ASN1ObjectIdentifier.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1;
2 |
3 | public class ASN1ObjectIdentifier extends ASN1Primitive {
4 | public String getId() {
5 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
6 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
7 |
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/ASN1OctetString.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1;
2 |
3 | public class ASN1OctetString extends ASN1Primitive {
4 | public byte[] getOctets() {
5 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
6 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
7 |
8 | }
9 |
10 | public static ASN1OctetString getInstance(Object obj) {
11 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
12 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/ASN1Primitive.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1;
2 |
3 | import java.io.IOException;
4 |
5 | public class ASN1Primitive {
6 | public static ASN1Primitive fromByteArray(byte[] data) throws IOException {
7 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
8 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
9 |
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/ASN1Set.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1;
2 |
3 | public abstract class ASN1Set
4 | extends ASN1Primitive
5 | implements org.bouncycastle.util.Iterable {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/ASN1TaggedObject.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1;
2 |
3 | public class ASN1TaggedObject extends ASN1Primitive {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/DEROctetString.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1;
2 |
3 | public class DEROctetString extends ASN1OctetString {
4 |
5 | @Override
6 | public byte[] getOctets() {
7 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
8 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
9 |
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/pkcs/Attribute.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.pkcs;
2 |
3 | import org.bouncycastle.asn1.ASN1Object;
4 | import org.bouncycastle.asn1.ASN1Primitive;
5 |
6 | public class Attribute
7 | extends ASN1Object {
8 |
9 | @Override
10 | public ASN1Primitive toASN1Primitive() {
11 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
12 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/pkcs/CertificationRequest.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.pkcs;
2 |
3 | import org.bouncycastle.asn1.ASN1Object;
4 | import org.bouncycastle.asn1.ASN1Primitive;
5 |
6 | public class CertificationRequest
7 | extends ASN1Object {
8 |
9 | @Override
10 | public ASN1Primitive toASN1Primitive() {
11 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
12 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.pkcs;
2 |
3 | public interface PKCSObjectIdentifiers {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x500/AttributeTypeAndValue.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x500;
2 |
3 | import org.bouncycastle.asn1.ASN1Encodable;
4 | import org.bouncycastle.asn1.ASN1ObjectIdentifier;
5 |
6 | public class AttributeTypeAndValue {
7 | public ASN1Encodable getValue() {
8 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
9 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
10 |
11 | }
12 |
13 | public ASN1ObjectIdentifier getType() {
14 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
15 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x500/RDN.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x500;
2 |
3 | public class RDN {
4 | public AttributeTypeAndValue[] getTypesAndValues() {
5 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
6 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
7 |
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x500/X500NameStyle.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x500;
2 |
3 | public interface X500NameStyle {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x500/style/AbstractX500NameStyle.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x500.style;
2 |
3 | import org.bouncycastle.asn1.x500.X500NameStyle;
4 |
5 | public abstract class AbstractX500NameStyle
6 | implements X500NameStyle {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x500/style/RFC4519Style.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x500.style;
2 |
3 | public class RFC4519Style
4 | extends AbstractX500NameStyle {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x509/AlgorithmIdentifier.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x509;
2 |
3 | import org.bouncycastle.asn1.ASN1Encodable;
4 |
5 | public class AlgorithmIdentifier {
6 | public ASN1Encodable getParameters() {
7 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
8 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
9 |
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x509/BasicConstraints.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x509;
2 |
3 | import org.bouncycastle.asn1.ASN1Object;
4 | import org.bouncycastle.asn1.ASN1Primitive;
5 |
6 | public class BasicConstraints extends ASN1Object {
7 |
8 | @Override
9 | public ASN1Primitive toASN1Primitive() {
10 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
11 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x509/Extension.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x509;
2 |
3 | import org.bouncycastle.asn1.ASN1Object;
4 | import org.bouncycastle.asn1.ASN1Primitive;
5 |
6 | public class Extension extends ASN1Object {
7 |
8 | @Override
9 | public ASN1Primitive toASN1Primitive() {
10 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
11 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x509/GeneralName.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x509;
2 |
3 | import org.bouncycastle.asn1.ASN1Encodable;
4 |
5 | public class GeneralName {
6 | public int getTagNo() {
7 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
8 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
9 | }
10 |
11 | public ASN1Encodable getName() {
12 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
13 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x509/GeneralNames.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x509;
2 |
3 | public class GeneralNames {
4 | public GeneralName[] getNames() {
5 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
6 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
7 | }
8 |
9 | public static GeneralNames getInstance(Object obj) {
10 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
11 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
12 |
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x509/KeyPurposeId.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x509;
2 |
3 | import org.bouncycastle.asn1.ASN1Object;
4 | import org.bouncycastle.asn1.ASN1Primitive;
5 |
6 | public class KeyPurposeId
7 | extends ASN1Object {
8 |
9 | @Override
10 | public ASN1Primitive toASN1Primitive() {
11 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
12 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x509/KeyUsage.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x509;
2 |
3 | import org.bouncycastle.asn1.ASN1Object;
4 | import org.bouncycastle.asn1.ASN1Primitive;
5 |
6 | public class KeyUsage extends ASN1Object {
7 |
8 | @Override
9 | public ASN1Primitive toASN1Primitive() {
10 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
11 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x509/PolicyInformation.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x509;
2 |
3 | import org.bouncycastle.asn1.ASN1Object;
4 | import org.bouncycastle.asn1.ASN1Primitive;
5 |
6 | public class PolicyInformation extends ASN1Object {
7 |
8 | @Override
9 | public ASN1Primitive toASN1Primitive() {
10 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
11 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.asn1.x509;
2 |
3 | public class SubjectPublicKeyInfo {
4 | public static SubjectPublicKeyInfo getInstance(Object obj) {
5 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
6 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
7 |
8 | }
9 |
10 | public AlgorithmIdentifier getAlgorithm() {
11 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
12 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
13 |
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/cert/CertIOException.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.cert;
2 |
3 | import java.io.IOException;
4 |
5 | public class CertIOException extends IOException {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/cert/X509v3CertificateBuilder.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.cert;
2 |
3 | public class X509v3CertificateBuilder {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/cert/jcajce/JcaX509CertificateConverter.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.cert.jcajce;
2 |
3 | public class JcaX509CertificateConverter {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/cert/jcajce/JcaX509ExtensionUtils.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.cert.jcajce;
2 |
3 | import java.io.IOException;
4 |
5 | import org.bouncycastle.asn1.ASN1Primitive;
6 |
7 | public class JcaX509ExtensionUtils {
8 | public static ASN1Primitive parseExtensionValue(byte[] encExtValue)
9 | throws IOException {
10 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
11 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
12 |
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/cert/jcajce/JcaX509v3CertificateBuilder.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.cert.jcajce;
2 |
3 | import java.math.BigInteger;
4 | import java.util.Date;
5 |
6 | import org.bouncycastle.asn1.x500.X500Name;
7 | import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
8 |
9 | public class JcaX509v3CertificateBuilder {
10 | public JcaX509v3CertificateBuilder(X500Name issuer, BigInteger serial, Date notBefore, Date notAfter, X500Name subject,
11 | SubjectPublicKeyInfo publicKey) {
12 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
13 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.jce.provider;
2 |
3 | import java.security.Provider;
4 |
5 | public class BouncyCastleProvider extends Provider {
6 | public BouncyCastleProvider(String name, String versionStr, String info) {
7 | super(name, versionStr, info);
8 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
9 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/operator/ContentSigner.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.operator;
2 |
3 | public interface ContentSigner {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/operator/OperatorCreationException.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.operator;
2 |
3 | public class OperatorCreationException extends OperatorException {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/operator/OperatorException.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.operator;
2 |
3 | public class OperatorException extends Exception {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/operator/jcajce/JcaContentSignerBuilder.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.operator.jcajce;
2 |
3 | public class JcaContentSignerBuilder {
4 |
5 | public JcaContentSignerBuilder(String signatureAlgorithm) {
6 | throw new UnsupportedOperationException("Exclude io.quarkiverse.cxf:quarkus-cxf-bc-stub from"
7 | + " io.quarkiverse.cxf:quarkus-cxf-rt-ws-security dependencies and add Bouncy Castle instead");
8 |
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/pkcs/PKCS10CertificationRequest.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.pkcs;
2 |
3 | public class PKCS10CertificationRequest {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/pkcs/PKCS10CertificationRequestBuilder.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.pkcs;
2 |
3 | public class PKCS10CertificationRequestBuilder {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/util/Encodable.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.util;
2 |
3 | public interface Encodable {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/extensions/ws-security/bc-stub/src/main/java/org/bouncycastle/util/Iterable.java:
--------------------------------------------------------------------------------
1 | package org.bouncycastle.util;
2 |
3 | public interface Iterable
4 | extends java.lang.Iterable {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/extensions/ws-security/deployment/src/main/java/io/quarkiverse/cxf/ws/security/deployment/JodaTimeProcessor.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.ws.security.deployment;
2 |
3 | import io.quarkus.deployment.annotations.BuildStep;
4 | import io.quarkus.deployment.builditem.nativeimage.NativeImageResourcePatternsBuildItem;
5 |
6 | /**
7 | * {@link BuildStep}s related to {@code joda-time:joda-time}.
8 | */
9 | public class JodaTimeProcessor {
10 |
11 | @BuildStep
12 | NativeImageResourcePatternsBuildItem nativeImageResource() {
13 | return NativeImageResourcePatternsBuildItem.builder()
14 | .includeGlob("org/joda/time/tz/data/**")
15 | .build();
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/extensions/ws-security/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-rt-ws-security-parent
12 | Quarkus CXF - WS-Security - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 | bc-stub
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extensions/ws-security/runtime/src/main/doc/intro.adoc:
--------------------------------------------------------------------------------
1 | Provides CXF framework's https://cxf.apache.org/docs/ws-security.html[WS-Security] implementation allowing you to:
2 |
3 | * Pass authentication tokens between services
4 | * Encrypt messages or parts of messages
5 | * Sign messages
6 | * Timestamp messages
7 |
--------------------------------------------------------------------------------
/extensions/ws-security/runtime/src/main/doc/standards.adoc:
--------------------------------------------------------------------------------
1 | * https://cxf.apache.org/docs/ws-security.html[WS-Security]
2 | * https://cxf.apache.org/docs/ws-securitypolicy.html[WS-SecurityPolicy]
3 |
--------------------------------------------------------------------------------
/extensions/ws-security/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "Quarkus CXF WS-Security"
4 | description: "Consume and produce web services with Web Services Security (WS-Security, WSS)"
5 | metadata:
6 | keywords:
7 | - "cxf"
8 | - "jaxws"
9 | - "jax-ws"
10 | - "services"
11 | - "soap"
12 | - "ws"
13 | - "wss"
14 | - "ws-security"
15 | categories:
16 | - "integration"
17 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/reference/extensions/quarkus-cxf-rt-ws-security.html"
18 | status: "stable"
19 |
--------------------------------------------------------------------------------
/extensions/xjc-plugins/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-extensions
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-xjc-plugins-parent
12 | Quarkus CXF - XJC Plugins - Parent
13 | pom
14 |
15 |
16 | deployment
17 | runtime
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extensions/xjc-plugins/runtime/src/main/doc/intro.adoc:
--------------------------------------------------------------------------------
1 | CXF XJC plugins for xref:user-guide/contract-first-code-first/generate-java-from-wsdl.adoc[wsdl2java] code generation.
--------------------------------------------------------------------------------
/extensions/xjc-plugins/runtime/src/main/resources/META-INF/quarkus-extension.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | artifact: ${project.groupId}:${project.artifactId}:${project.version}
3 | name: "CXF XJC Plugins"
4 | description: "CXF XJC plugins for wsdl2java code generation"
5 | metadata:
6 | keywords:
7 | - "soap"
8 | - "xml"
9 | - "xjc"
10 | categories:
11 | - "xml"
12 | guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/reference/extensions/quarkus-cxf-xjc-plugins.html"
13 | status: "stable"
14 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/deployment/test/package-info.java:
--------------------------------------------------------------------------------
1 | @jakarta.xml.bind.annotation.XmlSchema(namespace = "http://test.deployment.cxf.quarkiverse.io/")
2 | package io.quarkiverse.cxf.deployment.test;
3 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/HelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | @WebService(serviceName = "HelloService", targetNamespace = HelloService.NS)
7 | public interface HelloService {
8 | public static final String NS = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test";
9 |
10 | @WebMethod(operationName = "hello", action = "helloAction")
11 | public String hello(String person);
12 | }
13 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/annotation/cxfendpoint/HelloBean.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.annotation.cxfendpoint;
2 |
3 | import jakarta.enterprise.context.ApplicationScoped;
4 |
5 | @ApplicationScoped
6 | public class HelloBean {
7 | public String hello(String person) {
8 | return "Hello " + person + " from HelloBean!";
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/annotation/cxfendpoint/PathAnnotationHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.annotation.cxfendpoint;
2 |
3 | import jakarta.jws.WebService;
4 |
5 | import io.quarkiverse.cxf.annotation.CXFEndpoint;
6 | import io.quarkiverse.cxf.it.HelloService;
7 |
8 | @CXFEndpoint("/path-annotation") // <1>
9 | @WebService(serviceName = "HelloService", targetNamespace = HelloService.NS)
10 | public class PathAnnotationHelloServiceImpl implements HelloService {
11 | @Override
12 | public String hello(String person) {
13 | return "Hello " + person + " from PathAnnotationHelloServiceImpl!";
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/annotation/cxfendpoint/PathAnnotationHelloServiceWithBean.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.annotation.cxfendpoint;
2 |
3 | import jakarta.inject.Inject;
4 | import jakarta.jws.WebService;
5 |
6 | import io.quarkiverse.cxf.annotation.CXFEndpoint;
7 | import io.quarkiverse.cxf.it.HelloService;
8 |
9 | @CXFEndpoint("/path-annotation-with-bean")
10 | @WebService(serviceName = "HelloService", targetNamespace = HelloService.NS)
11 | public class PathAnnotationHelloServiceWithBean implements HelloService {
12 |
13 | @Inject
14 | HelloBean helloBean;
15 |
16 | @Override
17 | public String hello(String person) {
18 | return helloBean.hello(person);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/auth/basic/BasicAuthHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.auth.basic;
2 |
3 | import jakarta.annotation.security.RolesAllowed;
4 | import jakarta.jws.WebService;
5 |
6 | import io.quarkiverse.cxf.it.HelloService;
7 |
8 | @WebService(serviceName = "HelloService", targetNamespace = HelloService.NS)
9 | @RolesAllowed("app-user")
10 | public class BasicAuthHelloServiceImpl implements HelloService {
11 | @Override
12 | public String hello(String person) {
13 | return "Hello " + person + "!";
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/large/slow/generated/package-info.java:
--------------------------------------------------------------------------------
1 | @jakarta.xml.bind.annotation.XmlSchema(namespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test")
2 | package io.quarkiverse.cxf.it.large.slow.generated;
3 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/redirect/retransmitcache/package-info.java:
--------------------------------------------------------------------------------
1 | @jakarta.xml.bind.annotation.XmlSchema(namespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test")
2 | package io.quarkiverse.cxf.it.redirect.retransmitcache;
3 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/server/xml/schema/validation/ApplicationPropertiesSchemaValidatedCalculatorServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server.xml.schema.validation;
2 |
3 | import jakarta.jws.WebService;
4 |
5 | import io.quarkiverse.cxf.it.server.xml.schema.validation.model.CalculatorService;
6 |
7 | @WebService(serviceName = "CalculatorService", targetNamespace = "http://www.jboss.org/eap/quickstarts/wscalculator/Calculator", wsdlLocation = "wsdl/calculator.wsdl")
8 | public class ApplicationPropertiesSchemaValidatedCalculatorServiceImpl implements CalculatorService {
9 |
10 | @Override
11 | public int addCheckResult(int a, int b) {
12 | return a + b;
13 | }
14 |
15 | @Override
16 | public int addCheckParameters(int a, int b) {
17 | return a + b;
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/soap12/Soap12HelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.soap12;
2 |
3 | import jakarta.annotation.Resource;
4 | import jakarta.jws.WebService;
5 | import jakarta.servlet.http.HttpServletRequest;
6 | import jakarta.xml.ws.WebServiceContext;
7 | import jakarta.xml.ws.handler.MessageContext;
8 |
9 | import io.quarkiverse.cxf.it.HelloService;
10 |
11 | @WebService(serviceName = "HelloService", targetNamespace = HelloService.NS)
12 | public class Soap12HelloServiceImpl implements HelloService {
13 |
14 | @Resource
15 | WebServiceContext wsContext;
16 |
17 | @Override
18 | public String hello(String person) {
19 | final HttpServletRequest req = (HttpServletRequest) wsContext.getMessageContext().get(MessageContext.SERVLET_REQUEST);
20 | return "Hello " + person + ", Content-Type: " + req.getHeader("Content-Type");
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/ws/addressing/server/anonymous/AddressingAnonymousImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.addressing.server.anonymous;
2 |
3 | import jakarta.jws.WebParam;
4 | import jakarta.jws.WebService;
5 | import jakarta.xml.ws.BindingType;
6 | import jakarta.xml.ws.soap.Addressing;
7 | import jakarta.xml.ws.soap.SOAPBinding;
8 |
9 | @WebService(serviceName = "AddressingAnonymousImpl")
10 | @BindingType(SOAPBinding.SOAP12HTTP_BINDING)
11 | @Addressing(required = true)
12 | public class AddressingAnonymousImpl {
13 |
14 | public String reply(@WebParam(name = "text") String text) {
15 | return "Hello " + text;
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/ws/addressing/server/decoupled/WsAddressingImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.addressing.server.decoupled;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | @WebService(name = "WsAddressingService", serviceName = "WsAddressingService", endpointInterface = "io.quarkiverse.cxf.it.ws.addressing.server.decoupled.WsAddressingService")
7 | public class WsAddressingImpl implements WsAddressingService {
8 |
9 | @WebMethod
10 | @Override
11 | public String echo(String message) {
12 | return message + " from WsAddressingService";
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/java/io/quarkiverse/cxf/it/ws/addressing/server/decoupled/WsAddressingService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.addressing.server.decoupled;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 | import jakarta.xml.ws.soap.Addressing;
6 |
7 | @WebService
8 | @Addressing(required = true)
9 | public interface WsAddressingService {
10 |
11 | @WebMethod
12 | public String echo(String message);
13 | }
14 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/main/resources/wsdl/LargeSlow-async-binding.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | true
9 |
10 |
11 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/annotation/cxfendpoint/CXFEndpointAnnotationIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.annotation.cxfendpoint;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class CXFEndpointAnnotationIT extends CXFEndpointAnnotationTest {
7 |
8 | }
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/auth/basic/wsdl/BasicAuthIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.auth.basic.wsdl;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class BasicAuthIT extends BasicAuthTest {
7 |
8 | }
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/client/tls/JavaNetSslClientIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.client.tls;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | class JavaNetSslClientIT extends JavaNetSslClientTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/client/tls/JavaNetSslClientTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.client.tls;
2 |
3 | import org.hamcrest.Matchers;
4 | import org.junit.jupiter.api.Test;
5 |
6 | import io.quarkus.test.common.QuarkusTestResource;
7 | import io.quarkus.test.junit.QuarkusTest;
8 | import io.restassured.RestAssured;
9 |
10 | @QuarkusTest
11 | @QuarkusTestResource(JavaNetSslClientTestResource.class)
12 | class JavaNetSslClientTest {
13 | @Test
14 | void javaNetSslClient() {
15 | RestAssured
16 | .given()
17 | .body("Jane")
18 | .post("/JavaNetSslClient/sync/javaNetSslClient")
19 | .then()
20 | .statusCode(200)
21 | .body(Matchers.is("Hello Jane, Content-Type: text/xml; charset=UTF-8"));
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/large/slow/LargeSlowIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.large.slow;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | class LargeSlowIT extends LargeSlowTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/redirect/RedirectIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.redirect;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | class RedirectIT extends RedirectTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/soap/handler/SOAPHandlerIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.soap.handler;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | class SOAPHandlerIT extends SOAPHandlerTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/soap12/Soap12IT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.soap12;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | class Soap12IT extends Soap12Test {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/validation/XmlSchemaValidationIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.validation;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class XmlSchemaValidationIT extends XmlSchemaValidationTest {
7 |
8 | }
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/vertx/async/AsyncVertxClientIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.vertx.async;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | class AsyncVertxClientIT extends AsyncVertxClientTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/ws/addressing/server/WsAddressingAnonymousIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.addressing.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class WsAddressingAnonymousIT extends WsAddressingAnonymousTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/client-server/src/test/java/io/quarkiverse/cxf/it/ws/addressing/server/WsAddressingDecoupledIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.addressing.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class WsAddressingDecoupledIT extends WsAddressingDecoupledTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/client/src/main/java/io/quarkiverse/cxf/client/it/CxfClientRestResource.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.client.it;
2 |
3 | import jakarta.ws.rs.GET;
4 | import jakarta.ws.rs.Path;
5 | import jakarta.ws.rs.Produces;
6 | import jakarta.ws.rs.QueryParam;
7 | import jakarta.ws.rs.core.MediaType;
8 |
9 | import org.jboss.eap.quickstarts.wscalculator.calculator.CalculatorService;
10 |
11 | import io.quarkiverse.cxf.annotation.CXFClient;
12 |
13 | @Path("/cxf/calculator-client")
14 | public class CxfClientRestResource {
15 |
16 | @CXFClient("myCalculator") // <1>
17 | CalculatorService myCalculator;
18 |
19 | @GET
20 | @Path("/add")
21 | @Produces(MediaType.TEXT_PLAIN)
22 | public int add(@QueryParam("a") int a, @QueryParam("b") int b) {
23 | return myCalculator.add(a, b); // <2>
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/integration-tests/client/src/main/java/io/quarkiverse/cxf/it/logging/LoggingFeatureProducer.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.logging;
2 |
3 | import jakarta.enterprise.context.ApplicationScoped;
4 | import jakarta.enterprise.inject.Produces;
5 |
6 | import org.apache.cxf.ext.logging.LoggingFeature;
7 |
8 | public class LoggingFeatureProducer {
9 |
10 | @Produces
11 | @ApplicationScoped
12 | LoggingFeature loggingFeature() {
13 | LoggingFeature loggingFeature = new LoggingFeature();
14 | loggingFeature.setPrettyLogging(true); // <1>
15 | return loggingFeature;
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/client/src/test/java/io/quarkiverse/cxf/client/it/CxfClientIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.client.it;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class CxfClientIT extends CxfClientTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/client/src/test/java/io/quarkiverse/cxf/it/logging/CxfLoggingIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.logging;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class CxfLoggingIT extends CxfLoggingTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/fastinfoset/src/main/java/io/quarkiverse/cxf/it/FastInfosetHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.FastInfoset;
7 |
8 | @WebService(serviceName = "HelloService", targetNamespace = FastInfosetHelloService.NS)
9 | @FastInfoset(force = true)
10 | public interface FastInfosetHelloService {
11 | public static final String NS = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test";
12 |
13 | @WebMethod
14 | public String hello(String person);
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/fastinfoset/src/main/java/io/quarkiverse/cxf/it/FastInfosetHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it;
2 |
3 | import jakarta.jws.WebService;
4 |
5 | @WebService(serviceName = "HelloService", targetNamespace = FastInfosetHelloService.NS)
6 | public class FastInfosetHelloServiceImpl implements FastInfosetHelloService {
7 | @Override
8 | public String hello(String person) {
9 | return "Hello " + person + "!";
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/integration-tests/fastinfoset/src/main/java/io/quarkiverse/cxf/it/GzipHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.GZIP;
7 |
8 | @WebService(serviceName = "HelloService", targetNamespace = GzipHelloService.NS)
9 | @GZIP(force = true, threshold = 0)
10 | public interface GzipHelloService {
11 | public static final String NS = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test";
12 |
13 | @WebMethod
14 | public String hello(String person);
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/fastinfoset/src/main/java/io/quarkiverse/cxf/it/GzipHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it;
2 |
3 | import jakarta.jws.WebService;
4 |
5 | import org.apache.cxf.annotations.GZIP;
6 | import org.apache.cxf.ext.logging.Logging;
7 |
8 | @WebService(serviceName = "HelloService", targetNamespace = FastInfosetHelloService.NS)
9 | @GZIP(force = true, threshold = 0)
10 | @Logging(logBinary = true)
11 | public class GzipHelloServiceImpl implements GzipHelloService {
12 | @Override
13 | public String hello(String person) {
14 | return "Hello " + person + "!";
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/integration-tests/fastinfoset/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Global Quarkus CXF configuration
2 | quarkus.cxf.path = /soap
3 |
4 | # @GZIP test
5 | quarkus.cxf.endpoint."/gzip".implementor = io.quarkiverse.cxf.it.GzipHelloServiceImpl
6 | quarkus.cxf.client.gzip.client-endpoint-url = http://localhost:8081/soap/gzip
7 | quarkus.cxf.client.gzip.service-interface = io.quarkiverse.cxf.it.GzipHelloService
8 |
9 | # @FastInfoset test
10 | quarkus.cxf.endpoint."/fastinfoset".implementor = io.quarkiverse.cxf.it.FastInfosetHelloServiceImpl
11 | quarkus.cxf.client.fastinfoset.client-endpoint-url = http://localhost:8081/soap/fastinfoset
12 | quarkus.cxf.client.fastinfoset.service-interface = io.quarkiverse.cxf.it.FastInfosetHelloService
13 |
14 | quarkus.log.min-level = TRACE
15 | quarkus.log.category."io.quarkiverse.cxf.vertx.http.client".level = TRACE
16 |
--------------------------------------------------------------------------------
/integration-tests/fastinfoset/src/test/java/io/quarkiverse/cxf/it/fastinfoset/FastInfosetIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.fastinfoset;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class FastInfosetIT extends FastInfosetTest {
7 |
8 | }
--------------------------------------------------------------------------------
/integration-tests/metrics/src/main/java/io/quarkiverse/cxf/metrics/client/it/MetricsClientResource.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.metrics.client.it;
2 |
3 | import java.io.IOException;
4 |
5 | import jakarta.inject.Inject;
6 | import jakarta.ws.rs.POST;
7 | import jakarta.ws.rs.Path;
8 | import jakarta.ws.rs.Produces;
9 | import jakarta.ws.rs.core.MediaType;
10 |
11 | import io.quarkiverse.cxf.annotation.CXFClient;
12 | import io.quarkiverse.cxf.metrics.server.it.HelloService;
13 |
14 | @Path("/metrics/client")
15 | public class MetricsClientResource {
16 |
17 | @Inject
18 | @CXFClient("hello")
19 | HelloService helloClient;
20 |
21 | @POST
22 | @Path("/hello")
23 | @Produces(MediaType.TEXT_PLAIN)
24 | public String createEscapeHandler(String body) throws IOException {
25 | return helloClient.hello(body);
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/integration-tests/metrics/src/main/java/io/quarkiverse/cxf/metrics/server/it/HelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.metrics.server.it;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebParam;
5 | import jakarta.jws.WebService;
6 |
7 | /**
8 | * The simplest Hello service.
9 | */
10 | @WebService(name = "HelloService", serviceName = "HelloService")
11 | public interface HelloService {
12 |
13 | @WebMethod
14 | String hello(@WebParam(name = "text") String text);
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/integration-tests/metrics/src/main/java/io/quarkiverse/cxf/metrics/server/it/HelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.metrics.server.it;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebParam;
5 | import jakarta.jws.WebService;
6 |
7 | /**
8 | * The simplest Hello service implementation.
9 | */
10 | @WebService(serviceName = "HelloService")
11 | public class HelloServiceImpl implements HelloService {
12 |
13 | @WebMethod
14 | @Override
15 | public String hello(@WebParam(name = "text") String text) {
16 | try {
17 | /* We have to slow down a bit so that the native test is able to see some elapsedTime */
18 | Thread.sleep(20);
19 | } catch (InterruptedException e) {
20 | Thread.currentThread().interrupt();
21 | }
22 | return "Hello " + text + "!";
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/integration-tests/metrics/src/main/resources/wsdl/async-binding.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | true
9 |
10 |
11 |
--------------------------------------------------------------------------------
/integration-tests/metrics/src/test/java/io/quarkiverse/cxf/metrics/it/MetricsIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.metrics.it;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class MetricsIT extends MetricsTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/metrics/src/test/java/io/quarkiverse/cxf/metrics/it/async/AsyncClientIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.metrics.it.async;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | class AsyncClientIT extends AsyncClientTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/mtls/src/main/java/io/quarkiverse/cxf/it/auth/mtls/HelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.auth.mtls;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * The simplest Hello service.
8 | */
9 | @WebService(serviceName = "HelloService")
10 | public interface HelloService {
11 |
12 | @WebMethod
13 | String hello(String text);
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/mtls/src/main/java/io/quarkiverse/cxf/it/auth/mtls/MTlsHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.auth.mtls;
2 |
3 | import jakarta.jws.WebService;
4 |
5 | @WebService
6 | public class MTlsHelloServiceImpl implements HelloService {
7 | @Override
8 | public String hello(String person) {
9 | return "Hello " + person + " authenticated by mTLS!";
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/integration-tests/mtls/src/test/java/io/quarkiverse/cxf/it/auth/mtls/MutualTlsIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.auth.mtls;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class MutualTlsIT extends MutualTlsTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/mtom-awt/src/main/java/io/quarkiverse/cxf/it/ws/mtom/awt/server/ImageService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.mtom.awt.server;
2 |
3 | import java.awt.Image;
4 |
5 | import jakarta.jws.WebMethod;
6 | import jakarta.jws.WebParam;
7 | import jakarta.jws.WebService;
8 | import jakarta.xml.ws.soap.MTOM;
9 |
10 | @WebService(name = "ImageService", targetNamespace = ImageService.NS)
11 | @MTOM
12 | public interface ImageService {
13 |
14 | public static final String NS = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/mtom-awt";
15 |
16 | @WebMethod
17 | Image downloadImage(
18 | @WebParam(name = "name", targetNamespace = NS) String name);
19 |
20 | @WebMethod
21 | String uploadImage(
22 | @WebParam(name = "data", targetNamespace = NS) Image data,
23 | @WebParam(name = "name", targetNamespace = NS) String name);
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/integration-tests/mtom-awt/src/test/java/io/quarkiverse/cxf/it/ws/mtom/awt/server/MtomAwtIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.mtom.awt.server;
2 |
3 | import org.junit.jupiter.api.condition.DisabledOnOs;
4 | import org.junit.jupiter.api.condition.OS;
5 |
6 | import io.quarkus.test.junit.QuarkusIntegrationTest;
7 |
8 | @QuarkusIntegrationTest
9 |
10 | // Native test fails on Mac OS with:
11 | // java.lang.UnsatisfiedLinkError: no awt in java.library.path
12 | // https://github.com/oracle/graal/issues/4124
13 | @DisabledOnOs({ OS.MAC })
14 | class MtomAwtIT extends MtomAwtTest {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/integration-tests/mtom-awt/src/test/resources/linux-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/integration-tests/mtom-awt/src/test/resources/linux-image.png
--------------------------------------------------------------------------------
/integration-tests/opentelemetry/src/main/java/io/quarkiverse/cxf/opentelemetry/it/HelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.opentelemetry.it;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebParam;
5 | import jakarta.jws.WebService;
6 |
7 | /**
8 | * The simplest Hello service.
9 | */
10 | @WebService(name = "HelloService", serviceName = "HelloService")
11 | public interface HelloService {
12 |
13 | @WebMethod
14 | String hello(@WebParam(name = "text") String text);
15 |
16 | @WebMethod
17 | String helloTraced(@WebParam(name = "text") String text);
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/integration-tests/opentelemetry/src/main/java/io/quarkiverse/cxf/opentelemetry/it/TracedBean.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.opentelemetry.it;
2 |
3 | import jakarta.enterprise.context.ApplicationScoped;
4 |
5 | import io.opentelemetry.instrumentation.annotations.WithSpan;
6 |
7 | @ApplicationScoped
8 | public class TracedBean {
9 |
10 | @WithSpan("TracedBean.helloTracedSpan")
11 | public String helloTraced(String person) {
12 | try {
13 | /* We have to slow down a bit so that the native test is able to see some elapsedTime */
14 | Thread.sleep(20);
15 | } catch (InterruptedException e) {
16 | Thread.currentThread().interrupt();
17 | }
18 | return "Hello traced " + person;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/integration-tests/opentelemetry/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.otel.bsp.schedule.delay=100
2 | quarkus.otel.bsp.export.timeout=5s
3 |
4 | quarkus.cxf.path = /soap
5 | quarkus.cxf.endpoint."/hello".implementor = io.quarkiverse.cxf.opentelemetry.it.HelloServiceImpl
6 |
7 | quarkus.cxf.client.hello.client-endpoint-url = http://localhost:${quarkus.http.test-port}/soap/hello
8 | quarkus.cxf.client.hello.service-interface = io.quarkiverse.cxf.opentelemetry.it.HelloService
9 |
--------------------------------------------------------------------------------
/integration-tests/opentelemetry/src/test/java/io/quarkiverse/cxf/opentelemetry/it/OpenTelemetryIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.opentelemetry.it;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class OpenTelemetryIT extends OpenTelemetryTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/saaj/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/integration-tests/saaj/src/main/resources/application.properties
--------------------------------------------------------------------------------
/integration-tests/saaj/src/test/java/io/quarkiverse/saaj/it/SaajIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.saaj.it;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class SaajIT extends SaajTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/saaj/src/test/java/io/quarkiverse/saaj/it/SaajTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.saaj.it;
2 |
3 | import static io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil.anyNs;
4 | import static io.restassured.RestAssured.given;
5 |
6 | import org.hamcrest.CoreMatchers;
7 | import org.hamcrest.Matchers;
8 | import org.junit.jupiter.api.Test;
9 |
10 | import io.quarkus.test.junit.QuarkusTest;
11 |
12 | @QuarkusTest
13 | public class SaajTest {
14 |
15 | @Test
16 | public void ping() {
17 | given()
18 | .when()
19 | .post("/saaj/hello/Joe")
20 | .then()
21 | .statusCode(200)
22 | .body(
23 | Matchers.hasXPath(
24 | anyNs("Envelope", "Body", "hello", "person")
25 | + "/text()",
26 | CoreMatchers.is("Joe")));
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/integration-tests/saaj/src/test/resources/plaintext.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 | spade
6 |
7 | -
8 | shovel
9 |
10 |
11 |
12 | Dig PLC, 1 First Ave, Dublin 1, Ireland
13 |
14 |
15 |
16 | Dig PLC, 1 First Ave, Dublin 1, Ireland
17 |
18 |
19 | Foo B Baz
20 | 1234 567890 12345
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/integration-tests/santuario-xmlsec/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.native.resources.includes = localhost-client-keystore.p12,localhost-keystore.p12
--------------------------------------------------------------------------------
/integration-tests/santuario-xmlsec/src/test/java/io/quarkiverse/xmlsec/it/NativeXmlsecResourceIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.xmlsec.it;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class NativeXmlsecResourceIT extends XmlsecResourceTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/santuario-xmlsec/src/test/resources/plaintext.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 | spade
6 |
7 | -
8 | shovel
9 |
10 |
11 |
12 | Dig PLC, 1 First Ave, Dublin 1, Ireland
13 |
14 |
15 |
16 | Dig PLC, 1 First Ave, Dublin 1, Ireland
17 |
18 |
19 | Foo B Baz
20 | 1234 567890 12345
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/FaultyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | @WebService(name = "FaultyHelloService", serviceName = "FaultyHelloService")
7 | public interface FaultyHelloService {
8 |
9 | @WebMethod
10 | String faultyHello(String text) throws GreetingException;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/FaultyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * A Web service always throwing an exception.
8 | */
9 | @WebService(serviceName = "FaultyHelloService")
10 | public class FaultyHelloServiceImpl implements FaultyHelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String faultyHello(String text) throws GreetingException {
15 | throw new GreetingException("foo", "bar");
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/FruitService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import java.util.Set;
4 |
5 | import jakarta.jws.WebMethod;
6 | import jakarta.jws.WebService;
7 |
8 | @WebService
9 | public interface FruitService {
10 |
11 | @WebMethod
12 | Set list();
13 |
14 | @WebMethod
15 | Set add(Fruit fruit);
16 |
17 | @WebMethod
18 | Set delete(Fruit fruit);
19 | }
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/GreetingException.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.xml.ws.WebFault;
4 |
5 | @WebFault(name = "GreetingFault")
6 | public class GreetingException extends Exception {
7 |
8 | private String faultInfo;
9 |
10 | public GreetingException(String message) {
11 | super(message);
12 | }
13 |
14 | public GreetingException(String message, String faultInfo) {
15 | super(message);
16 | this.faultInfo = faultInfo;
17 | }
18 |
19 | public String getFaultInfo() {
20 | return this.faultInfo;
21 | }
22 |
23 | }
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/GreetingWebService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebParam;
5 | import jakarta.jws.WebService;
6 |
7 | @WebService
8 | public interface GreetingWebService {
9 |
10 | @WebMethod
11 | String reply(@WebParam(name = "text") String text);
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/GreetingWebServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.inject.Inject;
4 | import jakarta.jws.WebParam;
5 | import jakarta.jws.WebService;
6 | import jakarta.xml.ws.BindingType;
7 | import jakarta.xml.ws.soap.SOAPBinding;
8 |
9 | @WebService(endpointInterface = "io.quarkiverse.cxf.it.server.GreetingWebService", serviceName = "GreetingWebService")
10 | @BindingType(SOAPBinding.SOAP12HTTP_BINDING)
11 | public class GreetingWebServiceImpl implements GreetingWebService {
12 |
13 | @Inject
14 | HelloBean helloResource;
15 |
16 | @Override
17 | public String reply(@WebParam(name = "text") String text) {
18 | return helloResource.getHello() + text;
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/GreetingWebServiceWithWebServiceContext.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.annotation.Resource;
4 | import jakarta.jws.WebParam;
5 | import jakarta.jws.WebService;
6 | import jakarta.xml.ws.WebServiceContext;
7 |
8 | import io.quarkiverse.cxf.annotation.CXFEndpoint;
9 |
10 | @WebService(serviceName = "GreetingWebService", endpointInterface = "io.quarkiverse.cxf.it.server.GreetingWebService")
11 | @CXFEndpoint("/greeting-with-web-service-context")
12 | public class GreetingWebServiceWithWebServiceContext {
13 |
14 | @Resource
15 | WebServiceContext ctx;
16 |
17 | public String reply(@WebParam(name = "text") String key) {
18 | return String.valueOf(ctx.getMessageContext().get(key));
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/HelloBean.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.inject.Singleton;
4 |
5 | /**
6 | * A simple bean for testing whether injecting into service implementation works.
7 | */
8 | @Singleton
9 | public class HelloBean {
10 | public String getHello() {
11 | return "Hello ";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/HelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * The simplest Hello service.
8 | */
9 | @WebService(name = "HelloService", serviceName = "HelloService")
10 | public interface HelloService {
11 |
12 | @WebMethod
13 | String hello(String text);
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/HelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * The simplest Hello service implementation.
8 | */
9 | @WebService(serviceName = "HelloService")
10 | public class HelloServiceImpl implements HelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + "!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/LargeEntityService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebParam;
5 | import jakarta.jws.WebService;
6 |
7 | @WebService(serviceName = "LargeEntityService", name = "LargeEntityService")
8 | public interface LargeEntityService {
9 |
10 | @WebMethod
11 | int outputBufferSize();
12 |
13 | @WebMethod
14 | String[] items(
15 | @WebParam(name = "count") int count,
16 | @WebParam(name = "itemLength") int itemLength);
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/Ping.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.xml.bind.annotation.XmlElement;
4 | import jakarta.xml.bind.annotation.XmlRootElement;
5 | import jakarta.xml.bind.annotation.XmlType;
6 |
7 | @XmlRootElement(name = "ping", namespace = "http://server.it.cxf.quarkiverse.io/")
8 | @XmlType(name = "ping", namespace = "http://server.it.cxf.quarkiverse.io/")
9 | public class Ping {
10 | private String text;
11 |
12 | public Ping() {
13 | }
14 |
15 | @XmlElement(name = "text", namespace = "")
16 | public String getText() {
17 | return this.text;
18 | }
19 |
20 | public void setText(String var1) {
21 | this.text = var1;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/SlowHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import io.quarkiverse.cxf.annotation.CXFEndpoint;
7 |
8 | @WebService(serviceName = "HelloService")
9 | @CXFEndpoint("/SlowHelloServiceImpl")
10 | public class SlowHelloServiceImpl implements HelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | try {
16 | Thread.sleep(1000);
17 | } catch (InterruptedException e) {
18 | Thread.currentThread().interrupt();
19 | throw new RuntimeException(e);
20 | }
21 | return "Hello Slow " + text + "!";
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/provider/StreamSourcePayloadProvider.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server.provider;
2 |
3 | import java.io.StringReader;
4 |
5 | import javax.xml.transform.stream.StreamSource;
6 |
7 | import jakarta.xml.ws.*;
8 |
9 | import org.apache.cxf.staxutils.StaxUtils;
10 |
11 | @WebServiceProvider
12 | @ServiceMode(value = Service.Mode.PAYLOAD)
13 | @BindingType(value = "http://cxf.apache.org/bindings/xformat")
14 | public class StreamSourcePayloadProvider implements Provider {
15 |
16 | public StreamSourcePayloadProvider() {
17 | }
18 |
19 | @Override
20 | public StreamSource invoke(StreamSource request) {
21 | String payload = StaxUtils.toString(request);
22 | payload = payload.replace("Hello", "Hello from StreamSourcePayloadProvider");
23 | return new StreamSource(new StringReader(payload));
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/ws/mtom/server/DHRequest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.mtom.server;
2 |
3 | import jakarta.activation.DataHandler;
4 | import jakarta.xml.bind.annotation.XmlMimeType;
5 | import jakarta.xml.bind.annotation.XmlType;
6 |
7 | @XmlType(name = "dataRequest", namespace = "http://org.jboss.ws/xop/doclit")
8 | public class DHRequest {
9 | private DataHandler dataHandler;
10 |
11 | public DHRequest() {
12 | }
13 |
14 | public DHRequest(DataHandler dataHandler) {
15 | this.dataHandler = dataHandler;
16 | }
17 |
18 | @XmlMimeType("application/octet-stream")
19 | public DataHandler getDataHandler() {
20 | return dataHandler;
21 | }
22 |
23 | public void setDataHandler(DataHandler dataHandler) {
24 | this.dataHandler = dataHandler;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/ws/mtom/server/DHResponse.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.mtom.server;
2 |
3 | import jakarta.activation.DataHandler;
4 | import jakarta.xml.bind.annotation.XmlMimeType;
5 | import jakarta.xml.bind.annotation.XmlType;
6 |
7 | @XmlType(name = "dataResponse", namespace = "http://org.jboss.ws/xop/doclit")
8 | public class DHResponse {
9 |
10 | private DataHandler dataHandler;
11 |
12 | public DHResponse() {
13 | }
14 |
15 | public DHResponse(DataHandler dataHandler) {
16 | this.dataHandler = dataHandler;
17 | }
18 |
19 | @XmlMimeType("application/octet-stream")
20 | public DataHandler getDataHandler() {
21 | return dataHandler;
22 | }
23 |
24 | public void setDataHandler(DataHandler dataHandler) {
25 | this.dataHandler = dataHandler;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/integration-tests/server/src/main/java/io/quarkiverse/cxf/it/ws/mtom/server/MtomService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.mtom.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 | import jakarta.jws.soap.SOAPBinding;
6 | import jakarta.xml.ws.soap.MTOM;
7 |
8 | @WebService(targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/mtom")
9 | @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, parameterStyle = SOAPBinding.ParameterStyle.BARE)
10 | @MTOM
11 | public interface MtomService {
12 | @WebMethod
13 | public DHResponse echoDataHandler(DHRequest request);
14 | }
15 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/GreetingSOAPHandlerIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class GreetingSOAPHandlerIT extends GreetingSOAPHandlerTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/GreetingWebServiceImplIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | class GreetingWebServiceImplIT extends GreetingWebServiceImplTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/GreetingWebServiceImplTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import org.assertj.core.api.Assertions;
4 | import org.junit.jupiter.api.BeforeAll;
5 | import org.junit.jupiter.api.Test;
6 |
7 | import io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil;
8 | import io.quarkus.test.junit.QuarkusTest;
9 |
10 | @QuarkusTest
11 | public class GreetingWebServiceImplTest extends AbstractGreetingWebServiceTest {
12 |
13 | @BeforeAll
14 | static void setup() {
15 | greetingWS = QuarkusCxfClientTestUtil.getClient(GreetingWebService.class, "/soap/greeting");
16 | }
17 |
18 | @Test
19 | void endpointUrl() {
20 | Assertions.assertThat(QuarkusCxfClientTestUtil.getEndpointUrl(greetingWS)).endsWith("/soap/greeting");
21 | }
22 |
23 | @Override
24 | protected String getServiceInterface() {
25 | return "GreetingWebService";
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/GreetingWebServiceNoIntfIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | class GreetingWebServiceNoIntfIT extends GreetingWebServiceNoIntfTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/GreetingWebServiceWithWebServiceContextTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import org.assertj.core.api.Assertions;
4 | import org.junit.jupiter.api.Test;
5 |
6 | import io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil;
7 | import io.quarkus.test.junit.QuarkusTest;
8 |
9 | @QuarkusTest
10 | public class GreetingWebServiceWithWebServiceContextTest {
11 | @Test
12 | void context() {
13 | GreetingWebService client = QuarkusCxfClientTestUtil.getClient(GreetingWebService.class,
14 | "/soap/greeting-with-web-service-context");
15 | Assertions.assertThat(client.reply("org.apache.cxf.message.Message.BASE_PATH"))
16 | .isEqualTo("//soap/greeting-with-web-service-context");
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/HelloServiceIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class HelloServiceIT extends HelloServiceTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/HelloServiceTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import org.junit.jupiter.api.Assertions;
4 | import org.junit.jupiter.api.Test;
5 |
6 | import io.quarkiverse.cxf.test.QuarkusCxfClientTestUtil;
7 | import io.quarkus.test.junit.QuarkusTest;
8 |
9 | @QuarkusTest
10 | public class HelloServiceTest {
11 |
12 | @Test
13 | public void hello() {
14 | final HelloService client = QuarkusCxfClientTestUtil.getClient(HelloService.class, "/soap/hello");
15 | Assertions.assertEquals("Hello World!", client.hello("World"));
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/Java2wsIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class Java2wsIT extends Java2wsTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/ServerIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class ServerIT extends ServerTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/XForwardedHeadersIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class XForwardedHeadersIT extends XForwardedHeadersTest {
7 |
8 | }
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/XForwardedProfile.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.server;
2 |
3 | import java.util.Collections;
4 | import java.util.List;
5 | import java.util.Map;
6 |
7 | import io.quarkus.test.junit.QuarkusTestProfile;
8 |
9 | public class XForwardedProfile implements QuarkusTestProfile {
10 |
11 | @Override
12 | public Map getConfigOverrides() {
13 | return Map.of(
14 | "quarkus.http.proxy.enable-forwarded-host", "true",
15 | "quarkus.http.proxy.enable-forwarded-prefix", "true",
16 | "quarkus.http.proxy.proxy-address-forwarding", "true");
17 | }
18 |
19 | @Override
20 | public List testResources() {
21 | return Collections.emptyList();
22 | }
23 |
24 | @Override
25 | public boolean disableGlobalTestResources() {
26 | return true;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/integration-tests/server/src/test/java/io/quarkiverse/cxf/it/ws/mtom/server/MtomIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.mtom.server;
2 |
3 | import org.apache.cxf.BusFactory;
4 | import org.apache.cxf.transport.http.HTTPConduitFactory;
5 |
6 | import io.quarkiverse.cxf.URLConnectionHTTPConduitFactory;
7 | import io.quarkus.test.junit.QuarkusIntegrationTest;
8 |
9 | @QuarkusIntegrationTest
10 | public class MtomIT extends MtomTest {
11 |
12 | public MtomIT() {
13 | /*
14 | * quarkus.cxf.http-conduit-factory = URLConnectionHTTPConduitFactory is not effective for the JVM
15 | * running the native tests. Thus we have to set the ConduitFactory manually.
16 | */
17 | BusFactory.getDefaultBus().setExtension(new URLConnectionHTTPConduitFactory(), HTTPConduitFactory.class);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/integration-tests/ws-rm-client/src/main/java/io/quarkiverse/cxf/it/ws/rm/client/ClientBeanProducers.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.rm.client;
2 |
3 | import jakarta.enterprise.context.ApplicationScoped;
4 | import jakarta.enterprise.inject.Produces;
5 | import jakarta.inject.Named;
6 |
7 | public class ClientBeanProducers {
8 |
9 | @Produces
10 | @ApplicationScoped
11 | @Named
12 | MessageLossSimulator messageLossSimulator() {
13 | return new MessageLossSimulator();
14 | }
15 |
16 | @Produces
17 | @ApplicationScoped
18 | @Named
19 | InMessageRecorder inMessageRecorder() {
20 | return new InMessageRecorder();
21 | }
22 |
23 | @Produces
24 | @ApplicationScoped
25 | @Named
26 | OutMessageRecorder outMessageRecorder() {
27 | return new OutMessageRecorder();
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/integration-tests/ws-rm-client/src/main/java/io/quarkiverse/cxf/it/ws/rm/server/WsrmHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.rm.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 | import jakarta.xml.ws.soap.Addressing;
6 |
7 | @WebService(name = "WsrmHelloService", serviceName = "WsrmHelloService", targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-rm")
8 | @Addressing(required = true)
9 | public interface WsrmHelloService {
10 | @WebMethod
11 | String hello(String name);
12 | }
13 |
--------------------------------------------------------------------------------
/integration-tests/ws-rm-client/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Global settings
2 | quarkus.cxf.decoupled-endpoint-base = http://localhost:${quarkus.http.test-port}${quarkus.cxf.path}
3 |
4 | # Global WS-RM settings
5 | quarkus.cxf.rm.namespace = http://docs.oasis-open.org/ws-rx/wsrm/200702
6 | quarkus.cxf.rm.retransmission-interval = 1000
7 | quarkus.cxf.rm.acknowledgement-interval = 500
8 |
9 | quarkus.cxf.client.wsrm.wsdl = http://localhost:8080/services/wsrm?wsdl
10 | quarkus.cxf.client.wsrm.client-endpoint-url = http://localhost:8080/services/wsrm
11 | quarkus.cxf.client.wsrm.service-interface = io.quarkiverse.cxf.it.ws.rm.server.WsrmHelloService
12 | quarkus.cxf.client.wsrm.out-interceptors = #messageLossSimulator
13 | quarkus.cxf.client.wsrm.in-interceptors = #inMessageRecorder
14 | quarkus.cxf.client.wsrm.connection = keep-alive
15 | quarkus.cxf.client.wsrm.decoupled-endpoint = /wsrm/decoupled-endpoint
16 |
--------------------------------------------------------------------------------
/integration-tests/ws-rm-client/src/test/java/io/quarkiverse/cxf/it/ws/rm/client/WsReliableMessagingIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.rm.client;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class WsReliableMessagingIT extends WsReliableMessagingTest {
7 |
8 | @Override
9 | protected boolean isNative() {
10 | return true;
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/AbstractHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | public interface AbstractHelloService {
4 | String hello(String text);
5 | }
6 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/CustomEncryptSignPolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | * A service with a WS-SecurityPolicy attached, security policy is customAlgorithmSuite with default values
10 | */
11 | @WebService(serviceName = "CustomEncryptSignPolicyHelloService")
12 | @Policy(placement = Policy.Placement.BINDING, uri = "custom-encrypt-sign-policy.xml")
13 | public interface CustomEncryptSignPolicyHelloService extends AbstractHelloService {
14 | @WebMethod
15 | @Override
16 | String hello(String text);
17 | }
18 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/CustomEncryptSignPolicyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * A service implementation with an encryption policy set
8 | */
9 | @WebService
10 | public class CustomEncryptSignPolicyHelloServiceImpl implements CustomEncryptSignPolicyHelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + " from CustomEncryptSign!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/CustomEncryptSignWrong1PolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | * A service with a WS-SecurityPolicy attached, security policy is customAlgorithmSuite with default values
10 | */
11 | @WebService(serviceName = "CustomEncryptSignWrong1PolicyHelloService")
12 | @Policy(placement = Policy.Placement.BINDING, uri = "custom-encrypt-sign-wrong1-policy.xml")
13 | public interface CustomEncryptSignWrong1PolicyHelloService extends AbstractHelloService {
14 | @WebMethod
15 | @Override
16 | String hello(String text);
17 | }
18 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/CustomEncryptSignWrong1PolicyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * A service implementation with an encryption policy set
8 | */
9 | @WebService
10 | public class CustomEncryptSignWrong1PolicyHelloServiceImpl implements CustomEncryptSignWrong1PolicyHelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + " from CustomEncryptSign!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/CustomEncryptSignWrong2PolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | * A service with a WS-SecurityPolicy attached, security policy is customAlgorithmSuite with default values
10 | */
11 | @WebService(serviceName = "CustomEncryptSignWrong2PolicyHelloService")
12 | @Policy(placement = Policy.Placement.BINDING, uri = "custom-encrypt-sign-wrong2-policy.xml")
13 | public interface CustomEncryptSignWrong2PolicyHelloService extends AbstractHelloService {
14 | @WebMethod
15 | @Override
16 | String hello(String text);
17 | }
18 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/CustomEncryptSignWrong2PolicyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * A service implementation with an encryption policy set
8 | */
9 | @WebService
10 | public class CustomEncryptSignWrong2PolicyHelloServiceImpl implements CustomEncryptSignWrong2PolicyHelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + " from CustomEncryptSign!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/CustomizedEncryptSignPolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | * A service with a WS-SecurityPolicy attached, security policy is customAlgorithmSuite with default values
10 | */
11 | @WebService(serviceName = "CustomizedEncryptSignPolicyHelloService")
12 | @Policy(placement = Policy.Placement.BINDING, uri = "customized-encrypt-sign-policy.xml")
13 | public interface CustomizedEncryptSignPolicyHelloService extends AbstractHelloService {
14 | @WebMethod
15 | @Override
16 | String hello(String text);
17 | }
18 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/CustomizedEncryptSignPolicyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * A service implementation with an encryption policy set
8 | */
9 | @WebService
10 | public class CustomizedEncryptSignPolicyHelloServiceImpl implements CustomEncryptSignPolicyHelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + " from CustomEncryptSign!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/EncryptSignPolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | * A service with a WS-SecurityPolicy attached
10 | */
11 | // tag::quarkus-cxf-rt-ws-security.adoc[]
12 | @WebService(serviceName = "EncryptSignPolicyHelloService")
13 | @Policy(placement = Policy.Placement.BINDING, uri = "encrypt-sign-policy.xml")
14 | public interface EncryptSignPolicyHelloService extends AbstractHelloService {
15 | // end::quarkus-cxf-rt-ws-security.adoc[]
16 | @WebMethod
17 | @Override
18 | String hello(String text);
19 | }
20 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/EncryptSignPolicyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * A service implementation with an encryption policy set
8 | */
9 | @WebService
10 | public class EncryptSignPolicyHelloServiceImpl implements EncryptSignPolicyHelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + " from EncryptSign!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/HelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * The simplest Hello service.
8 | */
9 | @WebService(serviceName = "HelloService")
10 | public interface HelloService extends AbstractHelloService {
11 |
12 | @WebMethod
13 | @Override
14 | String hello(String text);
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/HelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * The simplest Hello service implementation.
8 | */
9 | @WebService
10 | public class HelloServiceImpl implements HelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + "!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/HttpsPolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | * A service implementation with a transport policy set
10 | */
11 | @WebService(serviceName = "HttpsPolicyHelloService")
12 | @Policy(placement = Policy.Placement.BINDING, uri = "https-policy.xml")
13 | public interface HttpsPolicyHelloService extends AbstractHelloService {
14 |
15 | @WebMethod
16 | @Override
17 | public String hello(String text);
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/HttpsPolicyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * A service implementation with a transport policy set
8 | */
9 | @WebService
10 | public class HttpsPolicyHelloServiceImpl implements HttpsPolicyHelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + " from HTTPS!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/NoopHostnameVerifier.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import javax.net.ssl.HostnameVerifier;
4 | import javax.net.ssl.SSLSession;
5 |
6 | public class NoopHostnameVerifier implements HostnameVerifier {
7 |
8 | @Override
9 | public boolean verify(final String s, final SSLSession sslSession) {
10 | return true;
11 | }
12 |
13 | @Override
14 | public final String toString() {
15 | return "NoopHostnameVerifier";
16 | }
17 |
18 | }
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/Saml1PolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | */
10 | @WebService(serviceName = "Saml1PolicyHelloService")
11 | @Policy(placement = Policy.Placement.BINDING, uri = "saml1-policy.xml")
12 | public interface Saml1PolicyHelloService extends AbstractHelloService {
13 | @WebMethod
14 | @Override
15 | String hello(String text);
16 | }
17 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/Saml1PolicyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | @WebService
7 | public class Saml1PolicyHelloServiceImpl implements Saml1PolicyHelloService {
8 |
9 | @WebMethod
10 | @Override
11 | public String hello(String text) {
12 | return "Hello " + text + " from helloSaml1!";
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/Saml2PolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | */
10 | @WebService(serviceName = "Saml2PolicyHelloService")
11 | @Policy(placement = Policy.Placement.BINDING, uri = "saml2-policy.xml")
12 | public interface Saml2PolicyHelloService extends AbstractHelloService {
13 | @WebMethod
14 | @Override
15 | String hello(String text);
16 | }
17 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/Saml2PolicyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | @WebService
7 | public class Saml2PolicyHelloServiceImpl implements Saml2PolicyHelloService {
8 |
9 | @WebMethod
10 | @Override
11 | public String hello(String text) {
12 | return "Hello " + text + " from helloSaml2!";
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/UsernameTokenPolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policy;
7 |
8 | /**
9 | *
10 | */
11 | // tag::ws-securitypolicy-auth.adoc[]
12 | @WebService(serviceName = "UsernameTokenPolicyHelloService")
13 | @Policy(placement = Policy.Placement.BINDING, uri = "username-token-policy.xml")
14 | public interface UsernameTokenPolicyHelloService extends AbstractHelloService {
15 | // end::ws-securitypolicy-auth.adoc[]
16 | @WebMethod
17 | @Override
18 | String hello(String text);
19 | }
20 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/main/java/io/quarkiverse/cxf/it/security/policy/UsernameTokenPolicyHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | /**
7 | * A service implementation with a transport policy set
8 | */
9 | @WebService
10 | public class UsernameTokenPolicyHelloServiceImpl implements UsernameTokenPolicyHelloService {
11 |
12 | @WebMethod
13 | @Override
14 | public String hello(String text) {
15 | return "Hello " + text + " from UsernameToken!";
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/test/java/io/quarkiverse/cxf/it/security/policy/CustomEncryptSignPolicyIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class CustomEncryptSignPolicyIT extends CustomEncryptSignPolicyTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/test/java/io/quarkiverse/cxf/it/security/policy/EncryptSignPolicyIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class EncryptSignPolicyIT extends EncryptSignPolicyTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/test/java/io/quarkiverse/cxf/it/security/policy/TransportPolicyIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class TransportPolicyIT extends TransportPolicyTest {
7 |
8 | @Override
9 | protected int getPort() {
10 | // final Config config = ConfigProvider.getConfig();
11 | // does not seem to work return config.getValue("quarkus.http.test-ssl-port", Integer.class);
12 | return 8444;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/test/java/io/quarkiverse/cxf/it/security/policy/UsernameTokenSecurityPolicyIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class UsernameTokenSecurityPolicyIT extends UsernameTokenSecurityPolicyTest {
7 |
8 | @Override
9 | protected int getPort() {
10 | // final Config config = ConfigProvider.getConfig();
11 | // does not seem to work return config.getValue("quarkus.http.test-ssl-port", Integer.class);
12 | return 8444;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/test/java/io/quarkiverse/cxf/it/security/policy/UsernameTokenSecurityPolicyStaxIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class UsernameTokenSecurityPolicyStaxIT extends UsernameTokenSecurityPolicyStaxTest {
7 |
8 | @Override
9 | protected int getPort() {
10 | // final Config config = ConfigProvider.getConfig();
11 | // does not seem to work return config.getValue("quarkus.http.test-ssl-port", Integer.class);
12 | return 8444;
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/src/test/java/io/quarkiverse/cxf/it/security/policy/UsernameTokenTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.security.policy;
2 |
3 | import org.assertj.core.api.Assertions;
4 | import org.junit.jupiter.api.Test;
5 |
6 | import io.quarkiverse.cxf.annotation.CXFClient;
7 | import io.quarkus.test.junit.QuarkusTest;
8 |
9 | @QuarkusTest
10 | public class UsernameTokenTest {
11 |
12 | @CXFClient("helloUsernameToken")
13 | UsernameTokenPolicyHelloService helloUsernameToken;
14 |
15 | @Test
16 | void helloUsernameToken() {
17 | Assertions.assertThat(helloUsernameToken.hello("CXF")).isEqualTo("Hello CXF from UsernameToken!");
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/integration-tests/ws-security-policy/v3.ext:
--------------------------------------------------------------------------------
1 | authorityKeyIdentifier = keyid, issuer
2 | basicConstraints = CA:FALSE
3 | keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/main/java/io/quarkiverse/cxf/it/wss/client/CxfWssClientResource.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.wss.client;
2 |
3 | import jakarta.inject.Inject;
4 | import jakarta.ws.rs.GET;
5 | import jakarta.ws.rs.Path;
6 | import jakarta.ws.rs.Produces;
7 | import jakarta.ws.rs.QueryParam;
8 | import jakarta.ws.rs.core.MediaType;
9 |
10 | import org.jboss.eap.quickstarts.wscalculator.wsscalculator.WssCalculatorService;
11 |
12 | import io.quarkiverse.cxf.annotation.CXFClient;
13 |
14 | @Path("/cxf/wss-client")
15 | public class CxfWssClientResource {
16 |
17 | @Inject
18 | @CXFClient("wss-client") // name used in application.properties
19 | WssCalculatorService calculator;
20 |
21 | @GET
22 | @Path("/calculator/modulo")
23 | @Produces(MediaType.TEXT_PLAIN)
24 | public int modulo(@QueryParam("a") int a, @QueryParam("b") int b) {
25 | return calculator.modulo(a, b);
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/main/java/io/quarkiverse/cxf/it/wss/server/policy/WssSecurityPolicyHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.wss.server.policy;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | @WebService(targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/ws-securitypolicy")
7 | public interface WssSecurityPolicyHelloService {
8 |
9 | @WebMethod
10 | String sayHello(String name);
11 | }
12 |
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/main/resources/saml-keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/integration-tests/ws-security/src/main/resources/saml-keystore.jks
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/main/resources/server/alice.properties:
--------------------------------------------------------------------------------
1 | org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
2 | org.apache.ws.security.crypto.merlin.keystore.type=${keystore.type}
3 | org.apache.ws.security.crypto.merlin.keystore.password=password
4 | org.apache.ws.security.crypto.merlin.keystore.alias=alice
5 | org.apache.ws.security.crypto.merlin.file=server/alice.${keystore.type}
6 |
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/main/resources/server/bob.properties:
--------------------------------------------------------------------------------
1 | org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
2 | org.apache.ws.security.crypto.merlin.keystore.type=${keystore.type}
3 | org.apache.ws.security.crypto.merlin.keystore.password=password
4 | org.apache.ws.security.crypto.merlin.keystore.alias=bob
5 | org.apache.ws.security.crypto.merlin.file=server/bob.${keystore.type}
6 |
7 |
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/test/java/io/quarkiverse/cxf/it/wss/client/CxfWssClientIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.wss.client;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class CxfWssClientIT extends CxfWssClientTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/test/java/io/quarkiverse/cxf/it/wss/client/SignatureValidatorIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.wss.client;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class SignatureValidatorIT extends SignatureValidatorTest {
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/test/java/io/quarkiverse/cxf/it/wss/server/CxfWssServerIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.wss.server;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class CxfWssServerIT extends CxfWssServerTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/test/java/io/quarkiverse/cxf/it/wss/server/CxfWssServerTestResource.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.wss.server;
2 |
3 | import java.util.Map;
4 |
5 | import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
6 |
7 | public class CxfWssServerTestResource implements QuarkusTestResourceLifecycleManager {
8 |
9 | @Override
10 | public Map start() {
11 |
12 | final String user = "cxf-user";
13 | final String password = "secret-password";
14 | return Map.of(
15 | "wss.username", user,
16 | "wss.password", password);
17 | }
18 |
19 | @Override
20 | public void stop() {
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/integration-tests/ws-security/src/test/java/io/quarkiverse/cxf/it/wss/server/policy/CxfWssSecurityPolicyServerIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.wss.server.policy;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class CxfWssSecurityPolicyServerIT extends CxfWssSecurityPolicyServerTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/ws-trust/README.adoc:
--------------------------------------------------------------------------------
1 | = Regenerate keystores
2 |
3 | Run the script `generate_certs.sh` and copy all generated files (not the content of tme `tmp` folder) into `src/main/resources`.
4 |
5 | Content of the script file:
6 |
7 | [source,bash]
8 | ----
9 | mvn generate-sources -Pgenerate-certs.sh
10 | ----
11 |
--------------------------------------------------------------------------------
/integration-tests/ws-trust/src/main/java/io/quarkiverse/cxf/it/ws/trust/server/TrustHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.trust.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | import org.apache.cxf.annotations.Policies;
7 | import org.apache.cxf.annotations.Policy;
8 |
9 | //tag::ws-trust-usage.adoc-service[]
10 | @WebService(targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust")
11 | @Policy(placement = Policy.Placement.BINDING, uri = "classpath:/asymmetric-saml2-policy.xml")
12 | public interface TrustHelloService {
13 | @WebMethod
14 | @Policies({
15 | @Policy(placement = Policy.Placement.BINDING_OPERATION_INPUT, uri = "classpath:/io-policy.xml"),
16 | @Policy(placement = Policy.Placement.BINDING_OPERATION_OUTPUT, uri = "classpath:/io-policy.xml")
17 | })
18 | String hello(String person);
19 | }
20 | //end::ws-trust-usage.adoc-service[]
21 |
--------------------------------------------------------------------------------
/integration-tests/ws-trust/src/main/java/io/quarkiverse/cxf/it/ws/trust/server/TrustHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.trust.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 |
6 | //tag::ws-trust-usage.adoc-service[]
7 | @WebService(portName = "TrustHelloServicePort", serviceName = "TrustHelloService", targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-trust", endpointInterface = "io.quarkiverse.cxf.it.ws.trust.server.TrustHelloService")
8 | public class TrustHelloServiceImpl implements TrustHelloService {
9 | @WebMethod
10 | @Override
11 | public String hello(String person) {
12 | return "Hello " + person + "!";
13 | }
14 | }
15 | //end::ws-trust-usage.adoc-service[]
--------------------------------------------------------------------------------
/integration-tests/ws-trust/src/main/java/io/quarkiverse/cxf/it/ws/trust/sts/StsCallbackHandler.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.trust.sts;
2 |
3 | import java.util.Map;
4 |
5 | import io.quarkiverse.cxf.it.ws.trust.common.PasswordCallbackHandler;
6 | import io.quarkus.runtime.annotations.RegisterForReflection;
7 |
8 | @RegisterForReflection(methods = false, fields = false)
9 | public class StsCallbackHandler extends PasswordCallbackHandler {
10 |
11 | public StsCallbackHandler() {
12 | super(Map.of(
13 | "sts", "password"));
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/integration-tests/ws-trust/src/main/resources/client.pkcs12:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/integration-tests/ws-trust/src/main/resources/client.pkcs12
--------------------------------------------------------------------------------
/integration-tests/ws-trust/src/main/resources/service.pkcs12:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/integration-tests/ws-trust/src/main/resources/service.pkcs12
--------------------------------------------------------------------------------
/integration-tests/ws-trust/src/main/resources/sts.pkcs12:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-cxf/d0cd3b7bfd9c4d3b6f31f3ac68d7dd23f9cc16a0/integration-tests/ws-trust/src/main/resources/sts.pkcs12
--------------------------------------------------------------------------------
/integration-tests/ws-trust/src/test/java/io/quarkiverse/cxf/it/ws/trust/CxfWsTrustIT.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.trust;
2 |
3 | import io.quarkus.test.junit.QuarkusIntegrationTest;
4 |
5 | @QuarkusIntegrationTest
6 | public class CxfWsTrustIT extends CxfWsTrustTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/integration-tests/wsdl2java-no-config/README.adoc:
--------------------------------------------------------------------------------
1 | = `wsdl2java` code generation test
2 |
3 | The main focus of the current test module is to make sure that the `generate-code` mojo of
4 | `quarkus-maven-plugin` works well with `Wsdl2JavaCodeGen` even if there is no `wsdl2java` configuration
5 | in `application.properties`.
6 |
--------------------------------------------------------------------------------
/integration-tests/wsdl2java-no-config/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # Intentionally left empty - see README.adoc
--------------------------------------------------------------------------------
/integration-tests/wsdl2java-no-config/src/test/java/io/quarkiverse/cxf/wsdl2java/no/config/it/Wsdl2JavaNoConfigTest.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.wsdl2java.no.config.it;
2 |
3 | import java.io.IOException;
4 | import java.nio.file.Path;
5 | import java.nio.file.Paths;
6 |
7 | import org.assertj.core.api.Assertions;
8 | import org.junit.jupiter.api.Test;
9 |
10 | public class Wsdl2JavaNoConfigTest {
11 |
12 | @Test
13 | void codegenTests() throws IOException {
14 |
15 | /* Make sure that no java files were generated */
16 | final Path wsdl2java = Paths.get(
17 | "target/generated-test-sources/wsdl2java");
18 | Assertions.assertThat(wsdl2java).doesNotExist();
19 |
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/integration-tests/wsdl2java/README.adoc:
--------------------------------------------------------------------------------
1 | = `wsdl2java` code generation test
2 |
3 | The main focus of the current test module is to make sure that the `generate-code-tests` mojo of
4 | `quarkus-maven-plugin` works well with `Wsdl2JavaCodeGen`.
5 |
6 | Note that we test `generate-code` mojo of `quarkus-maven-plugin` in other modules, like
7 | `quarkus-cxf-integration-test-client`.
8 |
--------------------------------------------------------------------------------
/integration-tests/wsdl2java/src/test/java/io/quarkiverse/cxf/wsdl2java/it/HelloNameProvider.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.wsdl2java.it;
2 |
3 | public interface HelloNameProvider {
4 | String getHelloName();
5 | }
6 |
--------------------------------------------------------------------------------
/integration-tests/wsdl2java/src/test/java/io/quarkiverse/cxf/wsdl2java/it/TestInterface.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.wsdl2java.it;
2 |
3 | public interface TestInterface {
4 | default String hello() {
5 | return "Hello!";
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/wsdl2java/src/test/resources/wsdl/global-jaxb-bindings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/src/build/enforcer-rules/quarkus-cxf-banned-bom-dependencies.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | org.ow2.asm:asm
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test-util-parent/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 | io.quarkiverse.cxf
6 | quarkus-cxf-parent
7 | 3.23.2-SNAPSHOT
8 | ../pom.xml
9 |
10 |
11 | quarkus-cxf-test-util-parent
12 | pom
13 |
14 | Quarkus CXF - Test Utilities - Parent
15 |
16 |
17 | test-util
18 | test-ws-rm-server-jvm
19 | test-ws-rm-server-native
20 | test-list
21 |
22 |
23 |
--------------------------------------------------------------------------------
/test-util-parent/test-util/src/main/java/io/quarkiverse/cxf/test/VertxTestUtil.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.test;
2 |
3 | import org.assertj.core.api.Assertions;
4 |
5 | import io.vertx.core.AsyncResult;
6 |
7 | public class VertxTestUtil {
8 |
9 | private VertxTestUtil() {
10 | }
11 |
12 | public static T assertSuccess(AsyncResult result) {
13 | Assertions.assertThat(result).satisfiesAnyOf(
14 | i -> Assertions.assertThat(i.succeeded()).isTrue(),
15 | i -> {
16 | throw i.cause();
17 | });
18 | return result.result();
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/test-util-parent/test-ws-rm-server-jvm/src/main/java/io/quarkiverse/cxf/it/ws/rm/server/Init.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.rm.server;
2 |
3 | import jakarta.enterprise.event.Observes;
4 |
5 | import org.apache.cxf.Bus;
6 | import org.apache.cxf.BusFactory;
7 | import org.apache.cxf.interceptor.LoggingInInterceptor;
8 | import org.apache.cxf.interceptor.LoggingOutInterceptor;
9 |
10 | import io.quarkus.runtime.StartupEvent;
11 |
12 | public class Init {
13 |
14 | void init(@Observes StartupEvent start) {
15 | Bus bus = BusFactory.getDefaultBus();
16 | LoggingOutInterceptor loggingOut = new LoggingOutInterceptor();
17 | loggingOut.setPrettyLogging(true);
18 | LoggingInInterceptor loggingIn = new LoggingInInterceptor();
19 | loggingIn.setPrettyLogging(true);
20 | bus.getOutInterceptors().add(loggingOut);
21 | bus.getInInterceptors().add(loggingIn);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/test-util-parent/test-ws-rm-server-jvm/src/main/java/io/quarkiverse/cxf/it/ws/rm/server/WsrmHelloService.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.rm.server;
2 |
3 | import jakarta.jws.WebMethod;
4 | import jakarta.jws.WebService;
5 | import jakarta.xml.ws.soap.Addressing;
6 |
7 | @WebService(name = "WsrmHelloService", serviceName = "WsrmHelloService", targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-rm")
8 | @Addressing(required = true)
9 | public interface WsrmHelloService {
10 | @WebMethod
11 | String hello(String name);
12 | }
13 |
--------------------------------------------------------------------------------
/test-util-parent/test-ws-rm-server-jvm/src/main/java/io/quarkiverse/cxf/it/ws/rm/server/WsrmHelloServiceImpl.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.rm.server;
2 |
3 | import java.util.concurrent.atomic.AtomicInteger;
4 |
5 | import jakarta.jws.WebMethod;
6 | import jakarta.jws.WebService;
7 |
8 | @WebService(serviceName = "WsrmHelloService", targetNamespace = "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/test/ws-rm")
9 | public class WsrmHelloServiceImpl implements WsrmHelloService {
10 |
11 | private AtomicInteger invocationCounter = new AtomicInteger(0);
12 |
13 | @WebMethod
14 | @Override
15 | public String hello(String name) {
16 | return "WS-ReliableMessaging Hello " + name + "! counter: " + invocationCounter.incrementAndGet();
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/test-util-parent/test-ws-rm-server-jvm/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.package.type = uber-jar
2 |
3 | # Global WS-RM settings
4 | quarkus.cxf.rm.namespace = http://docs.oasis-open.org/ws-rx/wsrm/200702
5 | quarkus.cxf.rm.retransmission-interval = 6000
6 | quarkus.cxf.rm.acknowledgement-interval = 2000
7 |
8 | quarkus.cxf.endpoint."/wsrm".implementor = io.quarkiverse.cxf.it.ws.rm.server.WsrmHelloServiceImpl
9 |
--------------------------------------------------------------------------------
/test-util-parent/test-ws-rm-server-native/src/main/java/io/quarkiverse/cxf/it/ws/rm/server/nat/HaveSomeJavaDoc.java:
--------------------------------------------------------------------------------
1 | package io.quarkiverse.cxf.it.ws.rm.server.nat;
2 |
3 | /**
4 | * Otherwise the Sonatype OSS repo is unhappy.
5 | */
6 | public class HaveSomeJavaDoc {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/test-util-parent/test-ws-rm-server-native/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.native.compression.level = 5
2 |
3 | # Global WS-RM settings
4 | quarkus.cxf.rm.namespace = http://docs.oasis-open.org/ws-rx/wsrm/200702
5 | quarkus.cxf.rm.retransmission-interval = 6000
6 | quarkus.cxf.rm.acknowledgement-interval = 2000
7 |
8 | quarkus.cxf.endpoint."/wsrm".implementor = io.quarkiverse.cxf.it.ws.rm.server.WsrmHelloServiceImpl
9 | quarkus.cxf.endpoint."/wsrm".logging.enabled = true
10 | quarkus.cxf.endpoint."/wsrm".logging.pretty = true
11 |
--------------------------------------------------------------------------------