Maillot 2 filtre utilise le Conteneur Contexte de Demande à Demande du Client Filtre

J'ai un Maillot 2 Service Web que sur réception d'une demande, fait une autre demande à un autre service web dans le but de former la réponse pour la demande initiale. Ainsi, lorsque le client "A" fait une demande à mon web service "B", "B" fait une demande de "C" dans le cadre de la formation de la réponse à la "Une".

A->B->C

Je veux implémenter un filtre pour un Maillot 2 service web qui fait essentiellement:

  • Client "A" envoie une requête qui contient un en-tête comme
    "Mon en-Tête:tout d'abord"
  • Quand mon web service "B", puis fait une demande d'un client "C", il devrait
    ajouter à cet en-tête, de sorte qu'il envoie une requête à cet en-tête
    "Mon en-Tête:d'abord,deuxième".

Je veux mettre en œuvre ce qu'un filtre de sorte que l'ensemble de mes ressources n'ont pas à reproduire la logique de l'ajout de l'entête de la requête.

Cependant, en Jersey 2, vous obtenez ces 4 filtres:

  • ContainerRequestFilter - Filtre/modifier les demandes entrantes
  • ContainerResponseFilter - Filtre/modifier sortant réponses
  • ClientRequestFilter - Filtre/modifier des requêtes sortantes
  • ClientResponseFilter - Filtre/modifier entrant réponses

Maillot 2 filtre utilise le Conteneur Contexte de Demande à Demande du Client Filtre

J'ai besoin d'utiliser l'en-tête d'une requête entrante, le modifier, l'utiliser ensuite une demande sortante, donc en gros j'ai besoin de quelque chose qui est à la fois un ContainerRequestFilter et un ClientRequestFilter. Je ne pense pas que la mise en œuvre à la fois dans le même filtre de travail, que vous ne savez pas qui Demande du Client, des cartes qui Récipient Demande, ou pensez-vous?

Qu'entendez-vous par "quand mon web service, puis fait une demande d'un client"? Habituellement,un service web crée une réponse à une demande de client.
Fait de la question un peu plus clair maintenant

OriginalL'auteur oggmonster | 2014-07-28