Its hard to help when you do not provide more details. The stacktrace
refers to route 17, so check that that route if its somewhat special.

Also you can try upgrading Camel.

And when you use advice-with in unit tests, then make sure to follow
the box on this page with "telling Camel you are using adviceWith".
http://camel.apache.org/advicewith.html

On Mon, Dec 21, 2015 at 8:26 AM, sunil4uing <su...@simpragma.com> wrote:
> I have written a test case as shown below. Though there are no system
> dependencies, This case case never fails in my system but it fails in all
> other systems.
>
> @Test
>     public void testSOTBlock() throws Exception {
>         context.getRouteDefinitions().get(0).adviceWith(context, new
> AdviceWithRouteBuilder() {
>
>             @Override
>             public void configure() throws Exception {
>
> interceptSendToEndpoint("file://*").skipSendToOriginalEndpoint().to("mock:file");
>             }
>         });
>
>         MockEndpoint mock = getMockEndpoint("mock:file");
>
> mock.expectedBodiesReceived(Arrays.asList("SOS:1;1;T00001;;5.00;;JANE;0;;0;;123456\r\n"));
>
>         StartOfTransaction startOfSale = new StartOfTransaction(purchase, 1,
> 1, 1);
>         template.sendBodyAndHeader("direct:toSOT", startOfSale, "flightKey",
> 123456);
>         assertMockEndpointsSatisfied();
>     }
>
> I am using apache camel version 2.14.1.
>
>
> Below is the test case error log.
>
> org.apache.camel.FailedToCreateRouteException: Failed to create route
> route17: Route(route17)[[From[no uri or ref supplied!]] -> [process[c...
> because of Either 'uri' or 'ref' must be specified on:
> org.apache.camel.impl.DefaultRouteContext@a7720c2
>         at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:192)
>         at
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:805)
>         at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2174)
>         at
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1906)
>         at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1767)
>         at 
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
>         at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1735)
>         at
> org.apache.camel.test.junit4.CamelTestSupport.startCamelContext(CamelTestSupport.java:477)
>         at
> org.apache.camel.test.junit4.CamelTestSupport.doSetUp(CamelTestSupport.java:311)
>         at
> org.apache.camel.test.junit4.CamelTestSupport.setUp(CamelTestSupport.java:217)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>         at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>         at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>         at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
>         at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>         at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
>         at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>         at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>         at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>         at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>         at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>         at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>         at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>         at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>         at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>         at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: java.lang.IllegalArgumentException: Either 'uri' or 'ref' must be
> specified on: org.apache.camel.impl.DefaultRouteContext@a7720c2
>         at
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:135)
>         at
> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
>         at
> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:89)
>         at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:923)
>         at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:187)
>         ... 36 more
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/IllegalArgumentException-Either-uri-or-ref-must-be-specified-on-org-apache-camel-impl-DefaultRouteCot-tp5775306.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to