Обработка исключений в клиенте CXF JAX-RS - PullRequest
2 голосов
/ 14 февраля 2012

Я хочу преобразовать коды состояния HTTP в исключения Java в моем клиенте отдыха CXF. В соответствии с официальной документацией мне нужно использовать ResponseExceptionMapper, но нет примера, чтобы заставить его работать. Насколько я понимаю, мне нужно зарегистрировать его в качестве провайдера, но как я могу это сделать с прокси-типом клиента? Я попробовал следующий код

//create a proxy client     
locationService = JAXRSClientFactory.create(applicationURI + "/rest/", LocationService.class);

//registering my ResponseExceptionMapper
ProviderFactory.getSharedInstance().registerUserProvider(LocationResponseExceptionMapper.getInstance());

но это не работает, потому что ProviderFactory.getSharedInstance () возвращает другой экземпляр ProviderFactory, чем экземпляр, используемый моим клиентом.

1 Ответ

1 голос
/ 15 февраля 2012

Предоставить преобразователь исключений для прокси-фабрики, используя эту подпись :

//create a proxy client with specified exception mapping provider
List<Object> providers = new ArrayList<Object>();
providers.add(LocationResponseExceptionMapper.getInstance());
locationService = JAXRSClientFactory.create(applicationURI + "/rest/", LocationService.class, providers);
...