Apache camel Apache Camel路由找不到终结点

Apache camel Apache Camel路由找不到终结点,apache-camel,cxf,cxfrs,Apache Camel,Cxf,Cxfrs,我为我的应用程序创建了一个cxf路由,如下所示: from("cxfrs:{{url}}?resourceClasses=MyImpl&bindingStyle=SimpleConsumer") .to("${header.operationName}").end(); from("direct:{{getUser}}") .bean("userImpl", "getUserByName") .marshal().json(JsonLibrary.Jack

我为我的应用程序创建了一个cxf路由,如下所示:

from("cxfrs:{{url}}?resourceClasses=MyImpl&bindingStyle=SimpleConsumer")
.to("${header.operationName}").end();
from("direct:{{getUser}}")
        .bean("userImpl", "getUserByName")
        .marshal().json(JsonLibrary.Jackson)
    .to("log:foo");

    from("direct:{{login}}")    
        .bean("userImpl", "loginUser")
        .marshal().json(JsonLibrary.Jackson)
    .to("log:foo");
如果我尝试在处理器中获取operationName,我可以获取它,但如果我调用此路由,我会收到以下消息:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>Error 500 No consumers available on endpoint: Endpoint[direct://$%7Bheader.operationName%7D]. Exchange[ID-NBSPO049-64311-1498773394077-0-2] while invoking public java.lang.String com.itau.ea4.implementacao.UserImpl.loginUser(java.lang.String,java.lang.String) with params [teste, 1234].</title>
</head>
<body>
    <h2>HTTP ERROR 500</h2>
    <p>Problem accessing /user/login. Reason:

        <pre>    No consumers available on endpoint: Endpoint[direct://$%7Bheader.operationName%7D]. Exchange[ID-NBSPO049-64311-1498773394077-0-2] while invoking public java.lang.String com.itau.ea4.implementacao.UserImpl.loginUser(java.lang.String,java.lang.String) with params [teste, 1234].</pre>
    </p>
    <hr>
    <i>
        <small>Powered by Jetty://</small>
    </i>
    <hr/>
</body>

错误500终结点[direct://$%7Bheader.operationName%7D]上没有可用的使用者。在调用public java.lang.String com.itau.ea4.implementacao.UserImpl.loginUser(java.lang.String,java.lang.String)和参数[teste,1234]时交换[ID-NBSPO049-64311-149877339077-0-2]。
HTTP错误500
访问/用户/登录时出现问题。原因:
.to("${header.operationName}")
端点[direct://$%7Bheader.operationName%7D]上没有可用的使用者。在调用public java.lang.String com.itau.ea4.implementacao.UserImpl.loginUser(java.lang.String,java.lang.String)和参数[teste,1234]时交换[ID-NBSPO049-64311-149877339077-0-2]。


由码头提供动力://

我的路线怎么了? 为什么无法识别我的标题?

问题在于:

“to(…)”不支持动态数据,因此在您的示例中,它实际上尝试发送到端点“direct:{header.operationName}”

要使用标题中的动态值,可以使用toD(来自Camel 2.19)或recipientsList与一个收件人(Camel 2.19之前的版本)

问题在于:

“to(…)”不支持动态数据,因此在您的示例中,它实际上尝试发送到端点“direct:{header.operationName}”


要使用标题中的动态值,您可以使用toD(来自Camel 2.19)或recipientsList with one recipients(Camel 2.19之前的版本)

是的,请参见此常见问题解答:非常感谢。只是一点,当我尝试使用“to(…)”时,它不起作用,所以我使用了“toD”(“direct:…)”,它起作用了。很高兴它有帮助。是的,也可以看到这个常见问题解答:非常感谢。只是一点,当我尝试使用“to(…)”时,它不起作用,所以我使用了“toD”(“direct:…)”,它起作用了。很高兴它有帮助。