0

我正在为一项简单的任务而苦苦挣扎。我想创建一个只使用 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 消费者并解组到一个简单的地图呢?

4

0 回答 0