我有一个使用 Spring 和 CXF REST Web 服务的应用程序,并且在那里一切正常,但是我正在为 REST Web 服务编写 JUnit 测试并发现 cxf.xml 文件永远不会加载,这是我们使用它时的问题身份验证数据。
JUnit 测试根本不使用 Spring,它们只是简单的 bean 测试,使用一些简单的代码调用客户端,如下所示......
public static <RQ, RS> RS callXMLService(RQ request, String host, String path, Class<RS> responseClass)
{
WebClient client = WebClient.create(host);
client.path(path);
client.type("application/xml");
client.accept("text/xml");
RS response = client.post(request, responseClass);
int status = client.getResponse().getStatus();
if (status == 200)
{
return response;
}
return null;
}
我已经在 CXF 本身的 BusinessApplicationContext 和 SpringBusFatory 中的点设置断点,在这些点应该加载配置但它们永远不会被触发。
如果我需要的服务没有身份验证,那么它将起作用,但这只是因为它不需要 cxf.xml 中的任何内容即可运行。
如何让 CXF WebClient 在 JUnit 测试中加载 cxf 属性?