【问题标题】:Camel cxfrs service not get hit骆驼 cxfrs 服务没有受到打击
【发布时间】:2014-07-18 05:35:11
【问题描述】:

我正在使用Camel Java DSL 原型模板。我的路线构建器是这样的;

public class SampleRouteBulider extends RouteBuilder {
    private static final String CXF_RS_ENDPOINT = "cxfrs://http://localhost:8088?resourceClasses="
        + SampleResource.class.getName();
    @Override
    public void configure() throws Exception {
        from(CXF_RS_ENDPOINT)
            .choice()
                .when(header(CxfConstants.OPERATION_NAME).isEqualTo("sample"))
                    .bean(SampleImpl.class, "sample");

    }

}

我需要注册路线吗?我的服务不会受到影响。

public class SampleResource {
    @GET
    @Path("/sample/")
    @Produces(MediaType.APPLICATION_JSON)
    public Response sample() {
        return null;
    }
}

【问题讨论】:

  • 您是否尝试过使用http://localhost:8088/rest?esourceClasses= 中的URI 路径元素?
  • 没有。我认为使用 /rest 不是强制性的
  • 也许,但你试过了吗?
  • /rest 不应该是必需的,但是你的SampleResource 的配置也很重要,你能包括吗?此外,您可能需要在 choice() 之前添加 log() 以确认未访问该服务。
  • @bgossit 抱歉回复晚了。 SampleResource的配置是什么意思?我会把我的SampleResource 上课。

标签: java rest cxf apache-camel


【解决方案1】:

这里有很多可能是错误的。

  1. 如果您收到404-NOT FOUND,请确保您已将路由添加到 Camel 上下文。否则其余端点将不起作用。

  2. 如果您返回 500,这意味着您的路由或 CXF bean 中存在错误,您可能需要修复它。

如果除了这两个之外还有其他内容,请提及您从服务器返回的确切响应。

【讨论】:

  • 我不会得到任何回应。
猜你喜欢
  • 2023-04-05
  • 2014-11-14
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
  • 2018-09-03
相关资源
最近更新 更多