0

我创建了一个小客户端 api 来连接到专有的类似 rest 的服务。我org.apache.cxf.jaxrs.client.WebClient用于连接。在这个客户上,我打电话给get()post()

问题是,如果服务不可用或速度变慢(我将超时设置为 10 秒),我只会得到 RuntimeException 类型javax.ws.rs.ProcessingException。但是我需要对各种连接问题进行检查异常,以让 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);
}
4

1 回答 1

1

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

于 2015-03-04T11:59:00.280 回答