У меня возникла проблема с созданием перехватчиков при использовании класса WebClient (org.apache.cxf.jaxrs.client.WebClient
). В моем методе, который вызывает службу RESTful, я добавил перехватчик для выполнения в фазе out. Я намеренно предоставил недопустимые свойства, поэтому я вижу, что перехватчик не работает, но метод завершается успешно.Выполнение JACX RS CXF Interceptors работает с WebClient
Вот код, который я работаю с:
private String callService2(String webServiceUrl) {
JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
bean.setAddress(webServiceUrl);
// setup properties
Map<String, Object> properties = new HashMap<String, Object>();
properties.put("ws-security.signature.username", "client");
properties.put("ws-security.signature.properties",
"client_nonexistantfile.properties");
bean.setProperties(properties);
XmlSigOutInterceptor sigInterceptor = new XmlSigOutInterceptor();
bean.getOutInterceptors().add(sigInterceptor);
// use WebClient (or proxy) as usual
WebClient wc = bean.createWebClient();
TestInfoResponse response = wc.accept("application/xml").get(TestInfoResponse.class);
return response.getContents();
}
Я ожидал XmlSigOutInterceptor
логики потерпеть неудачу, поскольку файл свойств не существует, но этот метод завершается успешно. Что я делаю неправильно при добавлении XmlSigOutInterceptor
.
Заранее спасибо.