我想在我的CXF rest客户端中将HTTP状态代码转换为Java Exceptions。根据{{3}}我需要使用ResponseExceptionMapper,但是没有任何例子可以使它工作。我的理解是我需要将其注册为提供者,但是如何使用代理类型的客户端呢?我尝试了以下代码
//create a proxy client
locationService = JAXRSClientFactory.create(applicationURI + "/rest/", LocationService.class);
//registering my ResponseExceptionMapper
ProviderFactory.getSharedInstance().registerUserProvider(LocationResponseExceptionMapper.getInstance());
但它不起作用,因为ProviderFactory.getSharedInstance()返回一个不同的ProviderFactory实例,然后是我的客户端使用的实例。
答案 0 :(得分:1)
使用this signature向代理工厂提供例外映射器:
//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);