Apache camel 使用RouteRefer.adviceWith(..)进行测试时,驼峰路由中的标头值丢失

Apache camel 使用RouteRefer.adviceWith(..)进行测试时,驼峰路由中的标头值丢失,apache-camel,Apache Camel,使用camel 3.4.4,我有一个使用.to(getCxfEndpoint())调用cxf端点的路由,我有一个在前面的路由中设置的头,比如进程(exchange->exchange.getIn().setHeader(“myKey”,“myValue”): 我尝试使用以下方法对此进行单元测试: RouteReifer.adviceWith(routeDefinition, mcc, new AdviceWithRouteBuilder() { @Override public

使用camel 3.4.4,我有一个使用
.to(getCxfEndpoint())
调用cxf端点的路由,我有一个在前面的路由中设置的头,比如
进程(exchange->exchange.getIn().setHeader(“myKey”,“myValue”)

我尝试使用以下方法对此进行单元测试:

RouteReifer.adviceWith(routeDefinition, mcc, new AdviceWithRouteBuilder() {

    @Override
    public void configure() {
      weaveByString("To[http://myurl.com/xxx").replace()
       process(exchange -> {
         log.debug("Assume external call is made and I can see the headers in exchange here");
       });
    
    }
    });
但是在路由中,当我尝试获取头
exchange.getIn().getHeader(“myKey”)时
,它是空的。这只发生在测试中-当您运行真正的路由时,它实际上起作用。我无法弄清楚为什么在使用
weaveByString
模拟调用后标头会丢失。而且标头仍然存在于上面
过程中的lambda中

提前谢谢

RouteReifer.adviceWith(routeDefinition, mcc, new AdviceWithRouteBuilder() {

    @Override
    public void configure() {
      weaveByString("To[http://myurl.com/xxx").replace()
       process(exchange -> {
         log.debug("Assume external call is made and I can see the headers in exchange here");
       });
    
    }
    });