This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch faq3 in repository https://gitbox.apache.org/repos/asf/camel.git
commit c5806d814734fa2e20c6ae084f2f1ad3ae6b43dc Author: Claus Ibsen <[email protected]> AuthorDate: Sat Mar 7 16:01:07 2026 +0100 CAMEL-16861: Cleanup docs --- .../src/main/docs/cxf-component.adoc | 86 +++++++++++++++++++++ docs/user-manual/modules/faq/nav.adoc | 2 - ...-without-touching-the-spring-configuration.adoc | 87 ---------------------- docs/user-manual/modules/faq/pages/index.adoc | 2 - .../faq/pages/running-camel-standalone.adoc | 21 ------ 5 files changed, 86 insertions(+), 112 deletions(-) diff --git a/components/camel-cxf/camel-cxf-soap/src/main/docs/cxf-component.adoc b/components/camel-cxf/camel-cxf-soap/src/main/docs/cxf-component.adoc index 8864b969fc4b..7c3b9f5c2bda 100644 --- a/components/camel-cxf/camel-cxf-soap/src/main/docs/cxf-component.adoc +++ b/components/camel-cxf/camel-cxf-soap/src/main/docs/cxf-component.adoc @@ -1134,4 +1134,90 @@ ServletRequest request = (ServletRequest) cxfMessage.get("HTTP.REQUEST"); String remoteAddress = request.getRemoteAddr(); ---- +== How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration? + +You can find general information how to secure your Camel CXF Consumer with HTTPS in the +http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html[Apache CXF Client HTTP transport documentation]. + +A simple Camel CXF Consumer configuration which use the `\http:conduit` +configuration to enable SSL and an external properties file for all +environment specific configurations could look like in Spring XML: + +.Spring XML +[source,xml] +---- +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ctx="http://www.springframework.org/schema/context" + xmlns:camel="http://camel.apache.org/schema/spring" + xmlns:camel-cxf="http://camel.apache.org/schema/cxf" + xmlns:http="http://cxf.apache.org/transports/http/configuration" + xmlns:sec="http://cxf.apache.org/configuration/security" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd + http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd + http://camel.apache.org/schema/osgi http://camel.apache.org/schema/osgi/camel-osgi.xsd + http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd + http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd + http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd + "> + + <import resource="classpath:META-INF/cxf/cxf.xml" /> + <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> + <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" /> + + <ctx:property-placeholder location="classpath:orderEntry.cfg" /> + + <camel-cxf:cxfEndpoint id="orderEntryEndpoint" + address="${endpointUri}" + serviceClass="com.company.product.OrderEntryService" + endpointName="ssp:OrderEntry" + serviceName="ssp:OrderEntryService" + wsdlURL="META-INF/orderEntry/orderEntry.wsdl" + xmlns:ssp="http://www.company.com/product/orderEntry/service/1" /> + + <http:conduit name="{http://www.company.com/product/orderEntry/service/1}OrderEntry.http-conduit"> + <http:tlsClientParameters disableCNCheck="true"> + <sec:trustManagers> + <sec:keyStore type="JKS" password="${trustStore.password}" file="${trustStore.file}"/> + </sec:trustManagers> + <sec:cipherSuitesFilter> + <sec:include>.*_EXPORT_.*</sec:include> + <sec:include>.*_EXPORT1024_.*</sec:include> + <sec:include>.*_WITH_DES_.*</sec:include> + <sec:include>.*_WITH_NULL_.*</sec:include> + <sec:exclude>.*_DH_anon_.*</sec:exclude> + </sec:cipherSuitesFilter> + </http:tlsClientParameters> + </http:conduit> + + <camel:camelContext trace="true"> + <camel:routeBuilder ref="orderEntryRoute" /> + </camel:camelContext> + + <bean id="orderEntryRoute" class="com.company.product.OrderEntryRoute" /> +</beans> +---- + +The environment specific configurations are externalized into a properties file: + +*orderEntry.cfg* +[source,java] +---- +endpointUri=https://localhost:8181/OrderEntry +trustStore.password=password +trustStore.file=etc/myApp.ts +---- + +With this configuration, you Camel CXF consumer connects with HTTPS to the web service provider. + +If you need to change the protocol to HTTP, maybe for tracing/debugging +reasons, change the `endpointUri` property in your properties file to +e.g. `\http://localhost:8080/OrderEntry`. + +Apache CXF detects that you _only_ use HTTP and instantiates a +`HttpURLConnectionFactoryImpl` instead of a `HttpsURLConnectionFactory`. + + include::spring-boot:partial$starter.adoc[] diff --git a/docs/user-manual/modules/faq/nav.adoc b/docs/user-manual/modules/faq/nav.adoc index 082415cfa567..fdee46d44771 100644 --- a/docs/user-manual/modules/faq/nav.adoc +++ b/docs/user-manual/modules/faq/nav.adoc @@ -4,13 +4,11 @@ ** xref:how-can-i-get-the-source-code.adoc[How can I get the source code?] ** xref:how-do-i-become-a-committer.adoc[How do I become a committer?] ** xref:how-do-i-edit-the-website.adoc[How do I edit the website?] -** xref:running-camel-standalone.adoc[Running Camel standalone] ** xref:what-is-camel.adoc[What is Camel?] ** xref:ROOT:languages.adoc[What languages are supported?] ** xref:why-the-name-camel.adoc[Why the name Camel?] ** xref:how-to-avoid-sending-some-or-all-message-headers.adoc[How to avoid sending some or all message headers?] ** xref:how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How to remove the http protocol headers in the camel message?] -** xref:how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?] ** xref:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?] ** xref:using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange] ** xref:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?] diff --git a/docs/user-manual/modules/faq/pages/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc b/docs/user-manual/modules/faq/pages/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc deleted file mode 100644 index cc9d9c2d50e9..000000000000 --- a/docs/user-manual/modules/faq/pages/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc +++ /dev/null @@ -1,87 +0,0 @@ -= How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration? - -You can find general information how to secure your Camel CXF Consumer -with HTTPS -http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html[here]. - -A simple Camel CXF Consumer configuration which use the `\http:conduit` -configuration to enable SSL and an external properties file for all -environment specific configurations could looks like: - -*bundle-context.xml* - -[source,xml] ----- -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:ctx="http://www.springframework.org/schema/context" - xmlns:camel="http://camel.apache.org/schema/spring" - xmlns:camel-cxf="http://camel.apache.org/schema/cxf" - xmlns:http="http://cxf.apache.org/transports/http/configuration" - xmlns:sec="http://cxf.apache.org/configuration/security" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd - http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd - http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd - http://camel.apache.org/schema/osgi http://camel.apache.org/schema/osgi/camel-osgi.xsd - http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd - http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd - http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd - "> - - <import resource="classpath:META-INF/cxf/cxf.xml" /> - <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> - <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" /> - - <ctx:property-placeholder location="classpath:orderEntry.cfg" /> - - <camel-cxf:cxfEndpoint id="orderEntryEndpoint" - address="${endpointUri}" - serviceClass="com.company.product.OrderEntryService" - endpointName="ssp:OrderEntry" - serviceName="ssp:OrderEntryService" - wsdlURL="META-INF/orderEntry/orderEntry.wsdl" - xmlns:ssp="http://www.company.com/product/orderEntry/service/1" /> - - <http:conduit name="{http://www.company.com/product/orderEntry/service/1}OrderEntry.http-conduit"> - <http:tlsClientParameters disableCNCheck="true"> - <sec:trustManagers> - <sec:keyStore type="JKS" password="${trustStore.password}" file="${trustStore.file}"/> - </sec:trustManagers> - <sec:cipherSuitesFilter> - <sec:include>.*_EXPORT_.*</sec:include> - <sec:include>.*_EXPORT1024_.*</sec:include> - <sec:include>.*_WITH_DES_.*</sec:include> - <sec:include>.*_WITH_NULL_.*</sec:include> - <sec:exclude>.*_DH_anon_.*</sec:exclude> - </sec:cipherSuitesFilter> - </http:tlsClientParameters> - </http:conduit> - - <camel:camelContext trace="true"> - <camel:routeBuilder ref="orderEntryRoute" /> - </camel:camelContext> - - <bean id="orderEntryRoute" class="com.company.product.OrderEntryRoute" /> -</beans> ----- - -The environment specific configurations are externalized into a -properties file: - -*orderEntry.cfg* - -[source,java] ----- -endpointUri=https://localhost:8181/OrderEntry -trustStore.password=password -trustStore.file=etc/myApp.ts ----- - -With this configuration, you Camel CXF consumer connects with HTTPS to -the web service provider. -If you need to change the protocol to HTTP, maybe for tracing/debugging -reasons, change the `endpointUri` property in your properties file to -e.g. `\http://localhost:8080/OrderEntry`. That's all! Isn't it easy? -Apache CXF detects that you "only" use HTTP and instantiates a -`HttpURLConnectionFactoryImpl` instead of a `HttpsURLConnectionFactory`. diff --git a/docs/user-manual/modules/faq/pages/index.adoc b/docs/user-manual/modules/faq/pages/index.adoc index 93d14ebd7776..75b98df03332 100644 --- a/docs/user-manual/modules/faq/pages/index.adoc +++ b/docs/user-manual/modules/faq/pages/index.adoc @@ -18,7 +18,6 @@ General questions about Camel * xref:how-can-i-get-the-source-code.adoc[How can I get the source code?] * xref:how-do-i-become-a-committer.adoc[How do I become a committer?] * xref:how-do-i-edit-the-website.adoc[How do I edit the website?] -* xref:running-camel-standalone.adoc[Running Camel standalone] * xref:what-is-camel.adoc[What is Camel?] * xref:ROOT:languages.adoc[What languages are supported?] * xref:why-the-name-camel.adoc[Why the name Camel?] @@ -30,7 +29,6 @@ Questions on using Apache Camel * xref:how-to-avoid-sending-some-or-all-message-headers.adoc[How to avoid sending some or all message headers?] * xref:how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How to remove the http protocol headers in the camel message?] -* xref:how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?] * xref:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?] * xref:using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange] * xref:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?] diff --git a/docs/user-manual/modules/faq/pages/running-camel-standalone.adoc b/docs/user-manual/modules/faq/pages/running-camel-standalone.adoc deleted file mode 100644 index 6e8cf0d13cf2..000000000000 --- a/docs/user-manual/modules/faq/pages/running-camel-standalone.adoc +++ /dev/null @@ -1,21 +0,0 @@ -= Is it possible to start Camel as a standalone application, without embedding it in another application? - -Yes, Camel can run standalone or in any container. Running Standalone is -as simple just to create a xref:ROOT:camelcontext.adoc[CamelContext], add -routes and start it. If you don't want to write your own Java main, you -could use the one from xref:ROOT:spring.adoc[camel-spring] -(https://www.javadoc.io/doc/org.apache.camel/camel-spring/current/index.html) also used -by the xref:ROOT:camel-maven-plugin.adoc[Camel Maven Plugin]. - -The starting guide is a good place to start: + -xref:ROOT:getting-started.adoc[Getting Started] - -The FAQ have some more details: + -xref:index.adoc[FAQ] - -And if you use Maven for your projects Camel has maven tools to boot up -in standalone mode and quickly run you Camel application: + -xref:ROOT:camel-maven-plugin.adoc[Camel Maven Plugin] - -This is how you can run the xref:ROOT:examples.adoc[Examples] that is -included in the Camel distribution.
