camel-karavan
camel-karavan copied to clipboard
Olingo4 API Name error : No matching method for /DEFAULT
Describe the bug
When using Olingo4 component with Karavan, the following error is displayed. The dropdown of the API Name only has a DEFAULT
option.
Steps to reproduce the behavior
Variant
Web Application
Container Management (if applicable)
Docker
Operating System (if applicable)
Windows
Version
4.5.0
Relevant log output
2024-04-23 19:24:51.565 INFO 26740 --- [ main] org.apache.camel.main.MainSupport : Apache Camel (JBang) 4.5.0 is starting
2024-04-23 19:24:51.864 INFO 26740 --- [ main] org.apache.camel.main.MainSupport : Using Java 17.0.10 with PID 26740.
2024-04-23 19:24:52.032 INFO 26740 --- [ main] g.apache.camel.main.BaseMainSupport : Properties location: file:application.properties
2024-04-23 19:24:52.103 INFO 26740 --- [ main] apache.camel.main.ProfileConfigurer : The application is starting with profile: dev
2024-04-23 19:24:52.240 INFO 26740 --- [ main] g.apache.camel.main.BaseMainSupport : Auto-configuration summary
2024-04-23 19:24:52.241 INFO 26740 --- [ main] g.apache.camel.main.BaseMainSupport : [application.properties] camel.health.enabled=true
2024-04-23 19:24:52.241 INFO 26740 --- [ main] g.apache.camel.main.BaseMainSupport : [application.properties] camel.health.exposureLevel=full
2024-04-23 19:24:53.580 INFO 26740 --- [ main] mel.cli.connector.LocalCliConnector : Management from Camel JBang enabled
org.apache.camel.FailedToCreateRouteException: Failed to create route route-e4da at: >>> To[olingo4:DEFAULT/read?serviceUri=https://services.odata.org/TripPinRESTierService] <<< in route: Route(route-e4da)[From[timer:kafka-timer] -> [To[olingo4:DEF... because of Failed to resolve endpoint: olingo4://DEFAULT/read?serviceUri=https://services.odata.org/TripPinRESTierService due to: No matching method for /DEFAULT, with arguments [responseHandler, resourcePath, edm]
at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:228)
at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:79)
at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:728)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:594)
at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2391)
at org.apache.camel.support.service.BaseService.init(BaseService.java:78)
at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2027)
at org.apache.camel.support.service.BaseService.start(BaseService.java:105)
at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2046)
at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:212)
at org.apache.camel.main.KameletMain.doStart(KameletMain.java:363)
at org.apache.camel.support.service.BaseService.start(BaseService.java:113)
at org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1125)
at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:811)
at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:301)
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:2041)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:164)
at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:60)
at main.CamelJBang.main(CamelJBang.java:36)
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: olingo4://DEFAULT/read?serviceUri=https://services.odata.org/TripPinRESTierService due to: No matching method for /DEFAULT, with arguments [responseHandler, resourcePath, edm]
at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:831)
at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:731)
at org.apache.camel.support.CamelContextHelper.resolveEndpoint(CamelContextHelper.java:128)
at org.apache.camel.reifier.SendReifier.resolveEndpoint(SendReifier.java:47)
at org.apache.camel.reifier.SendReifier.createProcessor(SendReifier.java:37)
at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:879)
at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:619)
at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:224)
... 28 more
Caused by: java.lang.IllegalArgumentException: No matching method for /DEFAULT, with arguments [responseHandler, resourcePath, edm]
at org.apache.camel.support.component.AbstractApiEndpoint.initState(AbstractApiEndpoint.java:179)
at org.apache.camel.support.component.AbstractApiEndpoint.configureProperties(AbstractApiEndpoint.java:136)
at org.apache.camel.component.olingo4.Olingo4Endpoint.configureProperties(Olingo4Endpoint.java:155)
at org.apache.camel.support.DefaultComponent.setProperties(DefaultComponent.java:421)
at org.apache.camel.component.olingo4.Olingo4Component.createEndpoint(Olingo4Component.java:90)
at org.apache.camel.support.DefaultComponent.createEndpoint(DefaultComponent.java:170)
at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:797)
... 35 more
It has only one option because it is only one enum option in Camel Catalog https://github.com/apache/camel/blob/c2b21559da229c457ba673747a41be689d1c6f75/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/olingo4.json#L48
Thanks for the quick response. Is it possible to update the Camel Catalog?
The Endpoint DSL works properly in Java. The only problem is when using Karavan.
Yes lets fixed this in Camel itself https://issues.apache.org/jira/browse/CAMEL-20715
Thank you very much for the quick support. This is really helpful. I see this fix will be available in 4.6.0 version. That's by next month right?
Yeah we plan to release camel 4.6 next month