2013-02-28 1 views
1

У меня возникла проблема с созданием перехватчиков при использовании класса 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.

Заранее спасибо.

ответ

0

Это мое плохое. XmlSigOutInterceptor не нужно ничего делать, когда get выполняется, потому что нет документа для подписи. Итак, перехватчик стрелял, он сразу вернулся.

Извините за шум.

Смежные вопросы