2016-06-02 3 views
1

Я пытаюсь создать простое приложение, в котором пользователь вводит любой ключ, и система отправит запрос на получение. Я хочу добавить некоторые пользовательские заголовки в этот запрос GET. В простой java я использую следующий код.Spring Integration: добавление дополнительных параметров заголовков в HTTP-исходящий запрос.

URL url= new URL(CMRAuth.RESOURCE); 
     connection = (HttpURLConnection) url.openConnection(); 
     connection.setRequestMethod("GET"); 
     connection.setRequestProperty("Accept", "application/json"); 
     connection.setRequestProperty("OData-MaxVersion", "4.0"); 
     connection.setRequestProperty("OData-Version", "4.0"); 
     connection.addRequestProperty("Authorization", "Bearer "+cmrAuth.getAuthenticationResult().getAccessToken()); 
     System.out.println("code:"+connection.getResponseCode()); 

И он отлично работает. Я хочу сделать это с помощью исходящего шлюза Spring-Integration. Вот как выглядит мой xml.

<int-stream:stdin-channel-adapter id="consoleIn" 
    channel="requestChannel"> 
    <int:poller fixed-delay="1000" max-messages-per-poll="1" /> 
</int-stream:stdin-channel-adapter> 
<int:channel id="requestChannel" /> 

<int:chain input-channel="requestChannel"> 
    <int-http:outbound-gateway 
     url="https://example.com" 
     expected-response-type="java.lang.String" http-method="GET"/> 
    <int:service-activator ref="accountResponseHandler" /> 
</int:chain> 

Я хочу, чтобы дать ему все эти дополнительные заголовки: Accept, OData-Version, авторизация и т.д. Как его можно.

ответ

1

Вы должны настроить эти заголовки через <header-enricher> непосредственно перед <int-http:outbound-gateway>. Может быть, даже в том же <chain>.

После этого <int-http:outbound-gateway> должен быть сконфигурирован с header-mapper в качестве ссылки на фасоль DefaultHttpHeaderMapper.outboundMapper(). И последний должен быть сконфигурирован с userDefinedHeaderPrefix = null и outboundHeaderNames со всеми желаемыми заголовками для отображения.

+0

Я объявляю <заголовок-enricher> снаружи . Вот почему он не работал. благодаря –

Смежные вопросы