3
當我使用代理客戶端發送請求時,如果得到某個響應,我希望能夠修改該請求,然後再次發送相同的請求所有請求。CXF客戶端代理如何處理客戶端內的某些響應代碼
通常我會做這樣的事情:
BookStore proxy = JAXRSClientFactory.create("http://books", BookStore.class);
try
{
proxy.getBook("someId");
}
catch(WebApplicationException ex)
{
Response r = ex.getResponse();
if (r.getStatusCode() == 404)
{
proxy.getBook("anotherId");
}
}
但在這種情況下,是我想對所有請求做一個平常的事:如果我得到一個特定的HTTP代碼,修改一些頭值,和然後再試一次(可能對重試次數有限制)。
我還沒有看到cxf代理客戶端明確支持這種方式,我該如何去實現它?
我知道CXF攔截器。這是專門用於CXF代理的,在客戶端而不是通常在其中實施攔截器的服務器端。 – 2015-07-17 09:27:43
沒有人,攔截器也可以在客戶端執行。閱讀文檔並嘗試一些..http://cxf.apache.org/docs/jax-rs.html#JAX-RS-ClientAPI – 2015-07-17 09:43:15