Skip to main content
El nodo SOAP te permite conectar tu flujo con servicios web SOAP, un protocolo común en sistemas legacy y empresariales. Es un nodo de ejecución real: hace la petición y expone salidas de éxito y error para continuar el flujo, igual que el nodo API.
El nodo SOAP comparte la infraestructura de credenciales y ejecución con el nodo API — si ya conoces ese nodo, la configuración te resultará familiar.

Configuración básica

  • URL — la dirección del servicio SOAP.
  • Operation Name — el nombre de la operación SOAP que quieres invocar (texto libre; no se valida contra un WSDL).
Tanto la URL como el Operation Name son obligatorios — el nodo se marca como inválido si alguno queda vacío.
El método HTTP es siempre POST.

Namespaces

Define los namespaces del envelope SOAP en una tabla reordenable (arrastra para cambiar el orden): Puedes usar variables del workflow al definir el URI.

Headers

Agrega headers personalizados como pares clave-valor.
El header Content-Type se gestiona automáticamente según la versión de SOAP que elijas en Settings, y no se puede editar manualmente.

Body

El cuerpo de la petición se edita en un editor de código libre (JSON o XML). El nodo no construye visualmente el envelope SOAP — el armado final del envelope se resuelve en el motor de ejecución.

Autenticación

Tres opciones disponibles:

Settings

  • Versión de SOAP — 1.1 o 1.2. Cambiarla reescribe automáticamente el header Content-Type.
  • Timeout — en milisegundos, por defecto 30000 (30s).
  • Transformación de respuesta — extrae solo la parte de la respuesta que necesitas definiendo un extractPath (por ejemplo, GetUserResponse.Data).

Avanzado

Retener la conversación mientras espera

Por defecto, mientras el nodo espera la respuesta del servicio el usuario queda libre: si escribe, su mensaje lo atiende el router del proyecto y puede arrancar otro flujo en la misma conversación. Para evitarlo, abre la pestaña Avanzado y activa Retener la conversación mientras espera: el usuario permanece en este workflow hasta que la petición termina.
Los mensajes que el usuario envía mientras la conversación está retenida no entran al flujo: siempre se descartan, así que los nodos posteriores —incluido un Agente IA— no verán lo que escribió.

Hasta cuándo dura

La conversación se libera en cuanto la petición termina, tanto por la salida de éxito como por la de error, y el flujo continúa. Como respaldo, la retención dura como máximo el timeout configurado en Settings; si no configuraste uno, dura 60 segundos. En ningún caso supera 1 hora.

Cuándo no aplica

  • Nodos dentro de una Tool: solo el workflow que conversa con el usuario puede retenerlo, así que la opción se ignora en un nodo SOAP que corre dentro de una Tool. En ese caso, actívala en el nodo Tool del workflow; consulta Qué es una Tool.
  • Conversaciones con un operador: si un agente humano toma la conversación, sus mensajes no pasan por la retención.
  • Usuario ya retenido: si otro nodo —por ejemplo, una Pausa o una Tool con la misma opción— ya retiene al usuario, se respeta esa retención y este nodo no la reemplaza.

Guardar la respuesta

Activa “Guardar respuesta” y define un nombre de variable para almacenar la respuesta del servicio SOAP.

Acceder a la respuesta desde un nodo Código

También puedes leer el request original con $context.getSoapRequest('miVariable'). Ambos accesores soportan .headers() y .json(); getSoapResponse además incluye .status().

Probar la petición

El botón “Send” ejecuta la petición y muestra el resultado: código de estado, y pestañas de Body y Headers de la respuesta, con opción de copiar al portapapeles.

Manejo de errores

El nodo expone dos salidas: éxito y error. Conecta la salida de error al siguiente paso que deba manejar la falla, sin interrumpir el resto del flujo.