简单的camel cxfrs消费者使用json并创建一个地图

时间:2015-04-08 14:36:26

标签: json apache-camel cxf cxfrs

我正在努力完成一项简单的任务。我想创建一个只消耗json的cxfrs使用者。 应将json转换为简单的映射(key-> value):我创建了一个简单的测试:

@Test
public final void test() throws Exception {
    MockEndpoint mockOut = context.getEndpoint(MOCK_OUT, MockEndpoint.class);
    mockOut.expectedMessageCount(1);

    context.addRoutes(createRouteBuilder());
    context.start();
    context.createProducerTemplate().sendBody(DIRECT_A, "{ \"ussdCode\":\"101#\",\"msisdn\":\"491234567\"}");

    mockOut.assertIsSatisfied();
}   

private RouteBuilder createRouteBuilder() throws Exception {
    return new RouteBuilder() {

        @Override
        public void configure() throws Exception {
            from(DIRECT_A).to("cxfrs://http://localhost:8085/ussd");

            from("cxfrs://http://localhost:8085/ussd")
            .unmarshal().json(JsonLibrary.Jackson)
            .process(to).to(MOCK_OUT);

        }
    };
}

问题在于context.start()我得到ServiceConstructionException: No resource classes found。我也尝试以这种方式创建消费者(设置绑定样式):

private Endpoint fromCxfRsEndpoint() {
    CxfRsEndpoint cxfRsEndpoint = context.getEndpoint("cxfrs://http://localhost:8085/ussd", CxfRsEndpoint.class);
    cxfRsEndpoint.setBindingStyle(BindingStyle.SimpleConsumer);
    return cxfRsEndpoint;
}

这对两者都没有帮助。那么如何创建一个简单的rest / json使用者并解组到一个简单的地图呢?

0 个答案:

没有答案