Bonjour à tous,

Voici la situation:
je fait appel à un service REST à partir de mon code java, ça peut être un GET, un PUT ou un POST. Ça marche, mais pour des raisons que j'ignore, il arrive que le service ne réponde pas tout de suite, et le status de la réponse peut alors être un 400 et +, et même 500. Suite à l'erreur, l’exception est levée, le traitement s'arrête.

Ce que je voudrais faire, c'est ne pas lever l'exception tout de suite mais plutôt analyser le réponse et si c'est un un code 400+ ou 500 alors attendre un peu et refaire l'appel(ça peut aller jusqu'à refaire 5 fois par exemple avant de lever l'exception).

Je demande donc de l'aide car je ne sais pas comment gérer l'attente.

Voici le code du GET:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public CustomerDTO getCustomer(String customerNumber) {
		webClient.reset();
		webClient.path(CUSTOMER_PATH);
		webClient.path(customerNumber);
 
		try {
			CustomerDTO customer = webClient.get(CustomerDTO.class);
 
			return customer;
 
		} catch (WebApplicationException ex) {
			throw new ValidationException(String.format(ERROR_CANT_GET_CUSTOMER_INFO, getErrorMessageForWebApplicationException(ex)), ex);
		}
	}
Je vous remercie pour votre aide.