Set Header
El EIP Set Header define o modifica el encabezado del mensaje.
Parámetros
Parámetro | Descripción | Valor por defecto | Tipo |
---|---|---|---|
Name |
Nombre del encabezado del mensaje que será configurado. |
String |
|
Expression |
Define el valor que se configurará en el encabezado. Es obligatorio y puede utilizar varios lenguajes de expresión compatibles, como Simple, XPath, JSONPath. |
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, simple, 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. En el ejemplo, siempre retornará"400"
.
- setHeader:
name: my-header-name
expression:
constant:
expression: "400"
-
simple
: permite usar placeholders y lógica sencilla para acceder a datos del mensaje. En el ejemplo, retorna el valor del encabezadooperacao
.
- setHeader:
name: my-header-name
expression:
simple:
expression: "${header.operacao}"
-
jsonpath
: extrae información de mensajes cuyo cuerpo está en formato JSON. En el ejemplo, retornará el valor del campotoken
dentro del objetodata
.
- setHeader:
name: my-header-name
expression:
jsonpath:
expression: "$.data.token"
-
xpath
: extrae información de mensajes cuyo cuerpo está en formato XML. En el ejemplo, retorna el atributoid
del nodocustomer
dentro deorder
.
- setHeader:
name: my-header-name
expression:
xpath:
expression: "/order/customer/@id"
-
groovy/javascript/python
(u otro lenguaje de script): utiliza scripts personalizados para operaciones complejas. En el ejemplo, puede verificar la longitud del cuerpo del mensaje. Si el cuerpo del mensaje contiene datos, define el encabezado comoValid
; si está vacío, comoInvalid
. Utiliza Groovy para realizar esta verificación de manera condicional.
- setHeader:
name: my-header-name
expression:
groovy:
expression: "return request.body.length() > 0 ? 'Valid' : 'Invalid'"
Ejemplo
-
El siguiente ejemplo define el nombre del encabezado como
Content-Type
. -
El parámetro
expression
se configura comoconstant
, es decir, tendrá un valor fijo. Este valor será siempreapplication/json
, indicando que el cuerpo de la solicitud estará en 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]