Hi The advice with functionality is for regular Camel routes, eg they start via from() So what you do is not supported.
On Thu, Dec 20, 2018 at 10:15 PM Bradford Fisher <bradf...@bradfordfisher.com> wrote: > > I'm trying to replace a REST DSL "from" Endpoint using adviceWith and > replaceFromWith appears to be failing because Camel is appending a routeId > parameter to the end of the direct URI. > > Any suggestions on how to fix this? I've included below a sample Test class > illustrating the issue as well as the failure. > > ###################################################### > # Test Program > ###################################################### > > package com.theperducogroup; > > import org.apache.camel.builder.RouteBuilder; > import org.apache.camel.builder.AdviceWithRouteBuilder; > import org.apache.camel.model.RouteDefinition; > import org.apache.camel.test.junit4.CamelTestSupport; > > import org.junit.Test; > > public class RestfulRouteTest extends CamelTestSupport > { > @Test > public void doSomething() > { > try > { > context.getRouteDefinition("test").adviceWith(context, new > AdviceWithRouteBuilder() > { > public void configure() > { > replaceFromWith("direct:test"); > } > }); > } > catch (Exception e) > { > System.out.println(e); > } > } > > @Override > protected RouteBuilder createRouteBuilder() > { > return new RouteBuilder() > { > public void configure() > { > restConfiguration() > .component("undertow"); > > rest("/test").post().route() > .routeId("test") > .to("direct:out") > .endRest(); > } > }; > } > } > > ###################################################### > # Exception > ###################################################### > > org.apache.camel.FailedToCreateRouteException: Failed to create route test: > Route(test)[[From[direct://test?routeId=test]] -> [To[direct... because of > Failed to resolve endpoint: direct://test?routeId=test due to: Failed to > resolve endpoint: direct://test?routeId=test due to: There are 1 parameters > that couldn't be set on the endpoint. Check the uri if the parameters are > spelt correctly and that they are properties of the endpoint. Unknown > parameters=[{routeId=test}] -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2