В моем приложении я хотел бы повторно использовать один и тот же преобразователь сообщений внутри нескольких <int:chain>
.
. В таких цепочках я выполняю http-запросы к различным конечным точкам и мне нужно добавить один и тот же базовый заголовок аутентификации.,Я хотел бы объявить код для добавления заголовка только один раз, то есть:
<int:header-enricher id="authHeaderAdder">
<int:header expression="'Basic ' + new String(T(java.util.Base64).encoder.encode(('${http.user}' + ':' + '${http.password}').bytes))"
name="Authorization"/>
</int:header-enricher>
И затем я хотел бы использовать его с ref
в моей цепочке перед выполнением запроса http:
<int:chain input-channel="someHttpChain">
<int:transformer ref="authHeaderAdder"/>
<http:outbound-gateway.../>
<int:transformer ref="someResponseTransformer"/>
</int:chain>
Проблема в том, что я получаю ошибку при запуске приложения:
Проблема конфигурации: атрибут 'input-channel' необходим для элемента конечной точки верхнего уровня: 'int: header-enricher 'with id =' authHeaderAdder '
Как я могу повторно использовать authHeaderAdder
без написания кода Java и создания <bean/>
?