2015-01-16 4 views
0

Я пытаюсь прочитать заголовки запросов с помощью Apache camel 2.14.1 «Rest». Ниже моя весна глубинного рассеивающий слой для настройки компоненты сиденияapache camel read headers using spring dsl

<rest path="/a"> 
      <get uri="/{b}"> 
       <route> 
        <setBody> 
         <simple>${header.b}:${header.headerName}</simple> 
        </setBody> 
        <to uri="activemq:queue:requestQueue?replyTo=responseQueue"/> 
       </route> 
      </get> 
</rest> 

Когда я называю эту услугу (HTTP // локальные: 8081/тест/а/б) путем установки заголовков (HeaderName = 1) с помощью почтальона плагина, то мой Конфигурация верблюда не может считывать значения заголовков.

В соответствии с документацией мы можем читать заголовки, используя $ {in.header.headerName}, который возвращается в моем случае пустым.

Пожалуйста, помогите мне прочитать значения заголовков.

ответ

0

С одной стороны, путь /test/a/b не соответствует пути, который вы сконфигурировали с базой /a и шаблоном пути от /{b}. Вы должны удалить /test со своего пути.

Почему вы не получили заголовки, которых я не знаю. Опечатка может быть в именах заголовков, которые вы пытаетесь установить/получить?

Следующие работы для меня, используя различные стили для доступа к в-заголовков:

<rest path="/header-test"> 
    <get> 
     <route id="header-test"> 
      <log message="Header: $simple{in.headers[my-header]}" loggingLevel="INFO" logName="header-test" /> 
      <transform> 
       <simple>${header.my-header}</simple> 
      </transform> 
      <log message="Body: $simple{body}" loggingLevel="INFO" logName="header-test" /> 
     </route> 
    </get> 
</rest> 
Смежные вопросы