如何从cxf的WebClient获取检查异常或如何处理异常

时间:2015-03-03 09:32:03

标签: java web-services exception-handling cxf cxf-client

我创建了一个小客户端api来连接到专有的类似休息的服务。我使用org.apache.cxf.jaxrs.client.WebClient进行连接。在此客户端,我致电get()post()

问题是如果服务不可用或速度慢(我将超时设置为10秒),我只会得到javax.ws.rs.ProcessingException类型的RuntimeException。但我需要一个检查异常的各种连接问题,让api的用户对它们做出反应。怎么做?

以下是配置WebClient客户端的代码:

private void configureClient() {
    ClientConfiguration config = WebClient.getConfig(client);
    HTTPConduit http = (HTTPConduit) config.getConduit();
    HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
    httpClientPolicy.setConnectionTimeout(TIMEOUT);
    httpClientPolicy.setAllowChunking(false);
    http.setClient(httpClientPolicy);
}

1 个答案:

答案 0 :(得分:1)

您可以使用javax.ws.rs.WebApplicationException, java.net.ConnectException来捕获与连接相关的异常(虽然我不记得确切的异常类)和javax.ws.rs.client.ClientException来捕获其他JAXRS异常,例如400 415等。