[
https://issues.apache.org/jira/browse/CAMEL-22662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18035856#comment-18035856
]
Claus Ibsen commented on CAMEL-22662:
-------------------------------------
This is only related to jbang as when you use camel-cxf on SB or Q then they
come with http integration of the given app server
> docs: camel-cxf - add info on http transport dependency
> -------------------------------------------------------
>
> Key: CAMEL-22662
> URL: https://issues.apache.org/jira/browse/CAMEL-22662
> Project: Camel
> Issue Type: Task
> Components: camel-cxf
> Reporter: Cameron Fitzwater
> Priority: Trivial
>
> Would it be possible to make mention in the CXF documentation that HTTP
> transport dependencies are required when exposing SOAP services via HTTP
> endpoints (this took me a bit to figure out/understand)?
> This would prevent confusion for users who expect HTTP endpoints to work
> out-of-the-box when using {{cxf://http://...}} URIs.
> Maybe even going as far as showing an example with the mention of needing the
> dependency, like:
> {code:java}
> - from:
> uri: "cxf://http://0.0.0.0:8080/services/MyService"
> parameters:
> wsdlURL: "file:service.wsdl"
> serviceName: "{http://example.com}MyService"
> portName: "{http://example.com}MyPort"
> dataFormat: "PAYLOAD"
> {code}
> As of now, a dependency for transport is not auto-injected, which implies
> that you must include a dependency for the transport to work:
>
> e.g.,
> camel.jbang.dependencies=org.apache.cxf:cxf-rt-transports-http-jetty:4.1.3
> or
> camel.jbang.dependencies=org.apache.cxf:cxf-rt-transports-http-undertow:4.1.3
> Otherwise you will get the following error:
> {code:java}
> 2025-11-05 10:50:55.950 INFO 253203 --- [ main]
> e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.15.0 (soap)
> shutdown in 26ms (uptime:1s)
> org.apache.cxf.service.factory.ServiceConstructionException
> at
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:193)
> at
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:210)
> at
> org.apache.camel.component.cxf.jaxws.CxfConsumer.createServer(CxfConsumer.java:80)
> at
> org.apache.camel.component.cxf.jaxws.CxfConsumer.doStart(CxfConsumer.java:112)
> at
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
> at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:3508)
> at
> org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRouteConsumers(InternalRouteStartupManager.java:430)
> at
> org.apache.camel.impl.engine.InternalRouteStartupManager.doStartRouteConsumers(InternalRouteStartupManager.java:346)
> at
> org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:222)
> at
> org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:132)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:3114)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2726)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2681)
> at
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2268)
> at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
> at org.apache.camel.main.KameletMain.doStart(KameletMain.java:401)
> at
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
> at
> org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1657)
> at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:1007)
> at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:370)
> at
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
> at
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
> at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
> at picocli.CommandLine.access$1500(CommandLine.java:148)
> at
> picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
> at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
> at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
> at
> picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
> at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
> at picocli.CommandLine.execute(CommandLine.java:2174)
> at
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:205)
> at
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:72)
> at main.CamelJBang.main(CamelJBang.java:36)
> Caused by: java.io.IOException: Cannot find any registered
> HttpDestinationFactory from the Bus.
> at
> org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:286)
> at
> org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:135)
> at
> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:86)
> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:65)
> at
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:182)
> ... 34 more {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)