2011-03-21 2 views
-1

Je me demande comment appeler un service web reposant de manière asynchrone? Aucune suggestion?Comment appeler un service Web RestFul de manière asynchrone?

+0

Voulez-vous que le client fasse la requête de manière asynchrone? Voulez-vous que le serveur réponde immédiatement (par exemple, pour un travail de longue durée) et invoque une sorte de rappel quand il est terminé? S'il vous plaît clarifier votre question. –

+0

En Java, vous pouvez utiliser CompletealeFuture de java 8, ainsi que Guava, Spring, qui propose d'autres méthodes qui s'exécutent sur des versions plus anciennes de JDK. –

Répondre

1

Deux solutions possibles, selon que vous voulez pousser ou tirer.

1) L'appelant peut ajouter une URL de rappel dans l'en-tête HTTP de la requête. Cette URL sera appelée par le service lorsque le processus est terminé.

2) Le service peut ajouter une URL de processus dans l'en-tête HTTP de réponse. l'appelant peut ainsi obtenir des informations sur l'avancement de sa demande et obtenir le résultat quand c'est fait.

+0

L'URL de rappel dépend du service que vous appelez. –

1

Vous pouvez toujours utiliser le code côté client pour synchroniser l'appel de synchronisation pour l'appel de service Web RestFul.

2

Étant donné que REST est basé sur HTTP, qui est un protocole de requête/réponse synchrone, votre seule alternative est de l'intégrer dans un appel asynch du côté client. Que voulez-vous dire par un appel asynchrone?

Questions connexes