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çalho operacao.

- 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 campo token dentro do objeto data.

- setHeader:
    name: my-header-name
    expression:
      jsonpath:
        expression: "$.data.token"
  • xpath: extrai informações de mensagens com corpo em XML. No exemplo, retorna o atributo id do nó customer dentro de order.

- 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 como Valid; se estiver vazio, define como Invalid. 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 como constant, ou seja, terá um valor fixo. Esse valor será sempre application/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
Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]