Set Body
O EIP Set Body define ou modifica o corpo da mensagem.
Parâmetros
| Parâmetro | Descrição | Valor padrão | Tipo | 
|---|---|---|---|
Expression  | 
Define o valor que será configurado no corpo da mensagem (body).  | 
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, jsonPath, xPath etc.).
 - 
Segundo nível: define o valor efetivo da expressão, ou seja, o dado que será atribuído ao corpo da mensagem.
 
Tipos comuns de expressions
- 
constant: define um valor fixo, útil para mensagens estáticas. No exemplo, sempre define o corpo da mensagem como o JSON estático{"status": "error"}. 
- setBody:
    expression:
      constant:
        expression: '{"status": "error"}'
- 
jsonpath: extrai dados do corpo da mensagem quando ele está em formato JSON. No exemplo, extrai o valor localizado em$.data.attributesdo JSON no corpo da mensagem. 
- setBody:
    expression:
      jsonpath:
        path: '$.data.attributes'
- 
xpath: extrai informações quando o corpo da mensagem está em formato XML. No exemplo, seleciona o nó XML correspondente a/response/body/itemdo corpo da mensagem. 
- setBody:
    expression:
      xpath:
        path: '/response/body/item'
- 
script: permite usar linguagens de script (JavaScript, Groovy, etc.) para criar um corpo dinâmico. No exemplo, executa um script JavaScript para gerar dinamicamente o corpo da mensagem. 
- setBody:
    expression:
      script:
        language: 'javascript'
        expression: 'return {"status": "ok"};'
- 
binary: define um corpo binário, útil para enviar arquivos ou dados não textuais. No exemplo, configura o corpo da mensagem como dados codificados em Base64. 
- setBody:
    expression:
      binary:
        content: 'base64encodedData'
Exemplo
- setBody:
    id: setBody-2360
    expression:
      simple:
        expression: "<request><id>${header.id}</id></request>"
- 
O trecho de código define o corpo da mensagem como um XML dinâmico contendo um elemento
<id>. - 
O parâmetro
expressionutiliza a linguagem simples, que permite inserir valores dinâmicos e realizar manipulações simples de strings. - 
A expressão
${header.id}insere no XML o valor do cabeçalho (header) chamado "id". - 
Por exemplo, se o cabeçalho "id" tiver o valor 123, o corpo da mensagem será configurado assim:
<request><id>123</id></request>
 
Share your suggestions with us!
          Click here and then [+ Submit idea]