java - 使用 Camel 调用 REST URL

标签 java xml rest apache-camel

我需要从 Camel 调用本地的休息服务。

当我从浏览器调用 URL 时,我得到了响应。

例如

http://localhost:8081/buzzor/secure/buzzorapp/getAvailableLanguages

我得到了结果:

 [
    {
        "name": "English",
        "value": "en"
    },
    {
        "name": "मराठी",
        "value": "mr"
    },
    {
        "name": "ગુજરાતી",
        "value": "gu"
    },
    {
        "name": "தமிழ்",
        "value": "ta"
    },
    {
        "name": "हिन्दी",
        "value": "hi"
    },
    {
        "name": "Français",
        "value": "fr"
    },
    {
        "name": "తెలుగు",
        "value": "te"
    }
]

现在我需要从 Camel 调用相同的 REST URL,为此我创建了一条路由。

<camelContext xmlns="http://camel.apache.org/schema/spring" trace="false">
    <route>
        <from uri="direct:start" />
        <to uri="http://localhost:8081/buzzor/secure/buzzorapp/getAvailableLanguages" />
    </route>
</camelContext>

执行此操作后,如果我运行项目 URL 则不会被调用。请告诉我我在哪个地方犯了错误。在控制台站点上我只得到输出:

[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] <<< camel-maven-plugin:2.15.1:run (default-cli) < test-compile @ CXF-Sample <<<
[INFO] 
[INFO] --- camel-maven-plugin:2.15.1:run (default-cli) @ CXF-Sample ---
[INFO] Using org.apache.camel.spring.Main to initiate a CamelContext
[INFO] Starting Camel ...
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

最佳答案

看起来您正在使用direct端点作为消费者。这意味着您需要将交换发送到 direct:start 才能触发 http get。

使用运行一次的计时器怎么样?

<camelContext xmlns="http://camel.apache.org/schema/spring" trace="false">
  <route>
    <from uri="timer:foo?repeatCount=1" />
    <to uri="http://localhost:8081/buzzor/secure/buzzorapp/getAvailableLanguages" />
  </route>
</camelContext>

此路由将运行并调用 http 端点一次。

关于java - 使用 Camel 调用 REST URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30326760/

相关文章:

rest - 从 WSDL/XML 以编程方式生成 Swagger YAML Open API 规范

java - 如果 mysql 的 Hibernate4 和 spring4 不存在,则不会自动创建模式

java - Lombok 项目 AllArgsConstructor 不工作

java - "java.lang.ArrayIndexOutOfBoundsException"数组逻辑问题

caching - 在适用于 Windows Phone 的 RestSharp 中刷新

json - 如何在 Rest API 中查询特定路线的好友帖子

java - Swing:从 TableModel 捕获异常

php - 如何将XML文件导入MariaDB数据库?

sql-server - 在 SQL Server 2012 中从 XML 中提取元素名称

javascript - Angular 6 中的 xml2js : Can't resolve 'stream' and 'timers'