我已经设置了一个带有端点的简单 HTTP 服务,它提供 XML 响应。我正在针对该服务运行 JUnit 测试。这是下面代码的摘录。getMessageBody 使用缓冲读取器将文件转换为字符串。
字符串 src = getMessageBody(xmlname);
MockEndpoint mock = this.context.getEndpoint("mock:resultsCheck",MockEndpoint.class);
mock.expectedMessageCount(2);
LOG.info(".. get response object");
Object responseBody1 = this.template.requestBody("cxf://bean:Port",src);
String responseBody2 = this.template.requestBody("cxf://bean:Port",src, String.class);
问题是该行:
对象 responseBody1 = this.template.requestBody("cxf://bean:Port",src);
工作正常并返回一个填充的对象。
此行返回 null,我不知道为什么:
String responseBody2 = this.template.requestBody("cxf://bean:Port",src, String.class);
有任何想法吗?
- 编辑 -
我进一步调查了一下,这似乎是类型转换的问题。找不到从 org.apache.cxf.bus.spring.SpringBus 类型到 org.apache.camel.Component 的合适转换
我该如何解决?