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 encabezado operacao.

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

- 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 atributo id del nodo customer dentro de order.

- 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 como Valid; si está vacío, como Invalid. 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 como constant, es decir, tendrá un valor fijo. Este valor será siempre application/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
Thanks for your feedback!
EDIT

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