Set Header
O EIP Set Header define ou modifica o cabeçalho da mensagem.
Parâmetros
| Parâmetro | Descrição | Valor padrão | Tipo | 
|---|---|---|---|
Name  | 
Nome do cabeçalho da mensagem que será configurada.  | 
String  | 
|
Expression  | 
Define o valor que será configurado no cabeçalho. É obrigatório e pode usar diversas linguagens de expressão suportadas, como Simple, XPath, JSONPath.  | 
ExpressionDefinition  | 
Expression
A expression permite calcular ou definir valores dinamicamente durante o processamento de mensagens no fluxo de integração. Ela é uma forma de configurar comportamentos que podem variar de acordo com o contexto da mensagem em trânsito.
A expressão está organizada em dois níveis hierárquicos que permitem que a estrutura seja mais extensível e adaptável a diferentes contextos:
- 
Primeiro nível: especifica o tipo de lógica que será aplicada (constant, simple, jsonpath etc).
 - 
Segundo nível: define o valor efetivo da expressão, ou seja, o dado que será atribuído ao cabeçalho.
 
Tipos comuns de expressions
- 
constant: define um valor fixo. No exemplo, sempre retornará"400". 
    - setHeader:
        name: my-header-name
        expression:
          constant:
            expression: "400"
- 
simple: permite usar placeholders e lógica simples para acessar dados da mensagem. No exemplo, retorna o valor do cabeçalhooperacao. 
- setHeader:
    name: my-header-name
    expression:
      simple:
        expression: "${header.operacao}"
- 
jsonpath: extrai informações de mensagens com corpo em JSON. No exemplo, retorna o valor do campotokendentro do objetodata. 
- setHeader:
    name: my-header-name
    expression:
      jsonpath:
        expression: "$.data.token"
- 
xpath: extrai informações de mensagens com corpo em XML. No exemplo, retorna o atributoiddo nócustomerdentro deorder. 
- setHeader:
    name: my-header-name
    expression:
      xpath:
        expression: "/order/customer/@id"
- 
groovy/javascript/python(ou outra linguagem de script): usa scripts personalizados para operações complexas. No exemplo, a expressão verifica o comprimento do corpo da mensagem. Se o corpo da mensagem contiver dados, define o cabeçalho comoValid; se estiver vazio, define comoInvalid. Ele usa o Groovy para realizar essa verificação de maneira condicional. 
- setHeader:
    name: my-header-name
    expression:
      groovy:
        expression: "return request.body.length() > 0 ? 'Valid' : 'Invalid'"
Exemplo
- 
O exemplo a seguir define o nome do cabeçalho como
Content-Type. - 
O parâmetro
expressioné configurado comoconstant, ou seja, terá um valor fixo. Esse valor será sempreapplication/json, indicando que o corpo da requisição será no formato JSON. 
- setHeader:
    id: setHeader-4103186938
    description: Set header urlencoded
    expression:
      constant:
        expression: application/json
    name: Content-Type
Share your suggestions with us!
          Click here and then [+ Submit idea]