Spring Integration, comment puis-je passer entrant requête http via la passerelle sortante?

Je suis en train de mettre en œuvre une sorte de proxy dans le cadre de mon flux de données, je veux recevoir une http-request sur mon entrant passerelle et le passer à travers sortant de la passerelle. Je veux conserver tous les paramètres de chaîne de requête. Mon passerelles configuration est la suivante:

<int:channel id="searchRequestChannel" />
<int:channel id="searchReplyChannel" />

<int-http:inbound-gateway id="searchRequestInboundGateway"      
    supported-methods="GET" 
    request-channel="searchRequestChannel"
    reply-channel="searchReplyChannel"      
    path="/services/normalization"
    reply-timeout="50000"
/>

<int-http:outbound-gateway id="searchServiceGateway"
    http-method="GET"
    request-channel="searchRequestChannel"
    url="http://localhost:8080/query"
    extract-request-payload="false"
    expected-response-type="java.lang.String"
    reply-timeout="50000"
    charset="UTF-8"
/>

J'attendais qu'il travail comme suit:

  • Client, envoyez une demande à la passerelle entrante /services/normalisation:

    OBTENIR /services/normalisation q=cat&exclude=noir

  • Passerelle entrante reçoit la demande et l'envoyer par searchRequestChannel à la sortant passerelle.
  • Sortant de la passerelle envoie toute la demande pour le service externe:

    OBTENIR /de la requête q=cat&exclude=noir

Mais sur la pratique, sortant de la passerelle envoie vide demande qui ne contient pas de n'importe quelle requête arguments:

GET /query

Donc ma question, quelle est la façon la plus simple pour envoyer le http-demande qui a été acceptée sur la passerelle entrante par le biais de la passerelle sortante. En d'autres termes comment puis-je mettre en œuvre simple proxy par le printemps des outils d'intégration?

OriginalL'auteur masted | 2013-05-07