title: Apache camel. InterceptSendTo doesn't work with bean endpoint
body: <p>I can't understand why my tests don't work. I try intercept and skip sending to endpoint which is bean reference and nothing happens.
  I'm using version 2.16.2.</p>
  
  <p>test-camel.xml</p>
  
  <pre><code>&lt;bean id="eb" class="com.rencap.emf.bpipe.EndpointBean"/&gt;    
  &lt;camel:camelContext xmlns="http://camel.apache.org/schema/spring"&gt;  
      &lt;camel:endpoint id="requestEP" uri="direct:request"/&gt;
      &lt;endpoint id="beanEP" uri="bean:eb?method=processMessage" /&gt;
      &lt;camel:route id="testRoute"&gt;
          &lt;camel:from ref="requestEP"/&gt;
          &lt;camel:to ref="beanEP" /&gt;
      &lt;/camel:route&gt;
  &lt;/camel:camelContext&gt;
  </code></pre>
  
  <p>EndpointBean.java</p>
  
  <pre><code>package com.rencap.emf.bpipe;
  
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
  public class EndpointBean {
      private static Logger LOG = LoggerFactory.getLogger(EndpointBean.class);
  
      public void processMessage( String msg ){
          LOG.info("Processing message: {} ",msg);
      }
  }
  </code></pre>
  
  <p>Unit test:</p>
  
  <pre><code>@EndpointInject(ref="requestEP")
  ProducerTemplate requestEP;
  @EndpointInject(ref="beanEP")
  ProducerTemplate beanEP;
  @Autowired
  ModelCamelContext camelContext; 
  @Test
  public void test() throws Exception{
  
      camelContext.getRouteDefinition("testRoute").adviceWith( camelContext , new AdviceWithRouteBuilder(){
          @Override
          public void configure() throws Exception {
              interceptSendToEndpoint( beanEP.getDefaultEndpoint().getEndpointUri() ).
                  to("mock:send").
                  skipSendToOriginalEndpoint();
          }
      });     
      TestUtils.waitingFor("Configuration applied", 2000);
  
      MockEndpoint mockEP = camelContext.getEndpoint("mock:send",MockEndpoint.class);
      mockEP.setExpectedCount( 1 );
  
      requestEP.sendBody("Message");
  
      mockEP.assertIsSatisfied();
  
      TestUtils.waitingFor("All rows commited", 2000);
  }
  </code></pre>
  
  <p>Test always fails.
  Logs:</p>
  
  <pre><code>13:11:02.512 [main] INFO  o.apache.camel.model.RouteDefinition - AdviceWith route after: Route(testRoute)[[From[ref:requestEP]] -&gt; [InterceptSendToEndpoint[bean://eb?method=processMessage -&gt; [To[mock:send]]], To[ref:beanEP]]]
  13:11:02.537 [main] INFO  o.a.camel.spring.SpringCamelContext - Route: testRoute started and consuming from: Endpoint[direct://request]
  13:11:02.538 [main] INFO  com.rencap.emf.bpipe.test.TestUtils - Wait 2000 ms. Configuration applied 
  13:11:04.554 [main] INFO  com.rencap.emf.bpipe.EndpointBean - Processing message: Message 
  13:11:04.556 [main] INFO  o.a.c.component.mock.MockEndpoint - Asserting: Endpoint[mock://send] is satisfied
  </code></pre>
  
  <p>It means that sending to endpoint isn't being intercepted and skipped. May be I don't understand something but I coudn't find any restriction on use this method.</p>
  
  <p>In additional I noticed the same problem for endpoint with log. If I replace beanEP on :</p>
  
  <pre><code>&lt;endpoint id="beanEP" uri="log:LOGMESSAGE" /&gt;
  </code></pre>
  
  <p>that I receive the same result.
  But if I replace it on </p>
  
  <pre><code>&lt;endpoint id="beanEP" uri="seda:send" /&gt;
  </code></pre>
  
  <p>and add new route : </p>
  
  <pre><code>&lt;camel:route id="route2"&gt;
          &lt;camel:from ref="sendEP"/&gt;
          &lt;camel:log message="msg received ${body}"/&gt;
      &lt;/camel:route&gt;
  </code></pre>
  
  <p>that I will get expected result and test will be successed.</p>
  
  <p>What do I do wrong? Or maybe Are there some restrictions on this method?</p>