如何使用cxf端点消耗soap来测试路由

时间:2016-09-23 14:26:09

标签: apache-camel

我想测试通过cxf端点消耗soap消息的路由。服务类是带注释的(@WebService)接口,其中一个方法有2个字符串参数。

我想测试路由,尤其是cxf创建的MessageContentList的处理。

但是如何测试这样的路线呢? 我看到两个选项:

  • 在测试中用直接端点替换cxf端点,但是如何创建与实际路径中形状相同的消息内容列表?
  • 使用真实路由并向其发送xml / soap消息,但是如何使用定义soap消息的接口创建这样的方法?

还有其他选择吗?

2 个答案:

答案 0 :(得分:0)

为什么不使用实际路由并创建一个使用ProducerTemplate将交换发送到cxf端点的junit测试(使用CamelTestSupport)?

vertical-align: bottom;

在此处查看更多信息:http://camel.apache.org/camel-test.html

答案 1 :(得分:0)

@EndpointInject(uri = "direct:source")
    protected Endpoint source;

@Produce
    protected ProducerTemplate producer;   
@Test
method() {
    Exchange response = createAndSendMessage();
}

private Exchange createAndSendMessage() {
    Exchange exchange = source.createExchange();
    exchange.getIn().setBody(contentlist);
    Exchange response = producer.send(source, exchange);
    return response;
}

如果要使用xml,请在资源文件夹中创建xml输入文件,并将其设置为交换体。

exchange.getIn().setBody(requestXML);