当前位置: 首页 > 知识库问答 >
问题:

Camel:java.lang.IllegalArgumentException:必须指定defaultEndpoint

都飞跃
2023-03-14

我是阿帕奇骆驼的新手。我正试图将头和请求体一起发送到Apache Camel中的路由

// headers is a map
APIResponse response = (APIResponse) producer.requestBodyAndHeader("direct:route1",body,headers);

我得到以下错误:

java.lang.IllegalArgumentException: defaultEndpoint must be specified
    at org.apache.camel.util.ObjectHelper.notNull(ObjectHelper.java:308)
    at org.apache.camel.impl.DefaultProducerTemplate.getMandatoryDefaultEndpoint(DefaultProducerTemplate.java:462)
    at org.apache.camel.impl.DefaultProducerTemplate.requestBodyAndHeader(DefaultProducerTemplate.java:289)

共有1个答案

韦安怡
2023-03-14

您可能混淆了要调用的实际方法。如果您的消息正文实际上是String类型,那么您很有可能调用template.requestBodyandHeader(String,Object,map ) ,而不是调用您实际打算调用的template.requestBodyandHeader(Object,String,Object)(Object,Object,Object)。

后一种情况将只设置一个标题值,键是第二个输入参数,其值是第三个参数。在这里,由于没有给出endpoint信息,它将返回到默认endpoint,这将解释您看到的错误。

 类似资料:
  • 我是Liquibase的新手,我尝试将liquibase与postgres数据库一起使用liquibase脚本创建数据库表。我所做的是,我已经手动创建了Postgres表并通过运行命令 mvn液化酶:generateChangeLog 我创建了liquibase-outputChangeLog.xml文件。现在我尝试更新该脚本并在数据库中创建一个表。为此,我将XML代码写入新表的ChangeLog

  • 下面是中的gulpfile.js 我已经通过启动并在之后删除了以前关于的错误,但在上仍然存在此问题

  • 除了查询之外,两者的提取看起来完全相同: 第一个查询返回:  但第二个查询返回错误: 但我得到了同样的错误

  • 规格: 我正在创建PV和PVC使用掌舵图。 我正在使用Rancher UI查看它们是否绑定,以及PV是否生成。 如果我将“hostpath:path:”/mnt/data“作为规范添加到PV中,它将显示为可用的PV(带有本地节点路径),但我的PVC并没有与它绑定。(另外,出于部署目的,我不想使用hostpath。

  • 我定义了两个简单的类Reader.java和Decoder.java,并且能够使用以下步骤编译和运行它们。 (1)下载并解压缩JDK和JRE 9.0.4到测试目录 (2)在测试目录内创建以下目录结构。 (7)mkdir mlibs (8)使用以下命令将模块打包到JAR中。 (9)在步骤(8)结束时,我有一个如下所示的mlibs dir

  • 我运行的是GitLab10.2.2,而双因素身份验证(2FA)根本不起作用。我很快就迁移并升级了GitLab实例。我只是将带有基键的旧复制到它的位置。但即使我没有,我也应该能激活2FA。 当我尝试激活2FA时,日志显示: