Set Body
El EIP Set Body define o modifica el cuerpo del mensaje.
Parámetros
Parámetro | Descripción | Valor por defecto | Tipo |
---|---|---|---|
Expression |
Define el valor que se configurará en el cuerpo del mensaje (body). |
ExpressionDefinition |
Expression
La expression permite calcular o definir valores dinámicamente durante el procesamiento de mensajes en el flujo de integración. Es una forma de configurar comportamientos que pueden variar según el contexto del mensaje en tránsito.
La expresión está organizada en dos niveles jerárquicos que permiten que la estructura sea más extensible y adaptable a diferentes contextos:
-
Primer nivel: especifica el tipo de lógica que se aplicará (constant, jsonPath, xPath, etc.).
-
Segundo nivel: define el valor efectivo de la expresión, es decir, el dato que será asignado al cuerpo del mensaje.
Tipos comunes de expressions
-
constant
: define un valor fijo, útil para mensajes estáticos. Por ejemplo, puede definir el cuerpo del mensaje como el JSON estático{"status": "error"}
.
- setBody:
expression:
constant:
expression: '{"status": "error"}'
-
jsonpath
: extrae datos del cuerpo del mensaje cuando está en formato JSON. Por ejemplo, puede extraer el valor ubicado en$.data.attributes
del JSON en el cuerpo del mensaje.
- setBody:
expression:
jsonpath:
path: '$.data.attributes'
-
xpath
: extrae información cuando el cuerpo del mensaje está en formato XML. Por ejemplo, selecciona el nodo XML correspondiente a/response/body/item
del cuerpo del mensaje.
- setBody:
expression:
xpath:
path: '/response/body/item'
-
script
: permite usar lenguajes de script (JavaScript, Groovy, etc.) para crear un cuerpo dinámico. Por ejemplo, puede ejecutar un script en JavaScript para generar dinámicamente el cuerpo del mensaje.
- setBody:
expression:
script:
language: 'javascript'
expression: 'return {"status": "ok"};'
-
binary
: define un cuerpo binario, útil para enviar archivos o datos no textuales. Por ejemplo, configura el cuerpo del mensaje como datos codificados en Base64.
- setBody:
expression:
binary:
content: 'base64encodedData'
Ejemplo
- setBody:
id: setBody-2360
expression:
simple:
expression: "<request><id>${header.id}</id></request>"
-
El código define el cuerpo del mensaje como un XML dinámico que contiene un elemento
<id>
. -
El parámetro
expression
utiliza el lenguaje simple, que permite insertar valores dinámicos y realizar manipulaciones sencillas de cadenas. -
La expresión
${header.id}
inserta en el XML el valor del encabezado (header) llamado "id". -
Si el encabezado "id" tiene el valor 123, el cuerpo del mensaje sería configurado así:
<request><id>123</id></request>
Share your suggestions with us!
Click here and then [+ Submit idea]