Módulo de este artículo: Caja de herramientas
Prueba un iFlow HTTPS de SAP CPI con una service key y traza la llamada
Llama a un endpoint HTTPS de SAP CPI con OAuth client credentials de una service key de Process Integration Runtime, encuentra el mensaje que creó la llamada y trázalo paso a paso.

Un iFlow con un emisor HTTPS es fácil de desplegar y sorprendentemente incómodo de llamar: necesitas el endpoint correcto, un token de la service key correcta, a veces un token CSRF, y después todavía tienes que encontrar en el monitor el mensaje que creó tu llamada.
Este artículo recorre el ciclo completo en SAP Cloud Integration (SAP CPI): qué necesitas, cómo obtener un token y llamar al endpoint, cómo encontrar el mensaje resultante y cómo trazarlo.
Qué necesitas
- Un iFlow desplegado con un canal emisor HTTPS. Su Address, por ejemplo
/orders/create, pasa a formar parte del endpoint. - La URL del endpoint: el host del runtime seguido de
/httpy la dirección. Manage Integration Content, en el monitor, la muestra para el iFlow desplegado. - Una instancia de servicio de Process Integration Runtime con el plan
integration-flowy un rol que pueda enviar mensajes, y una service key de esa instancia con un client ID y un secret. - Un payload de prueba que el iFlow acepte.
Obtén un token y llama al endpoint
La service key contiene lo que necesita la llamada: el client ID y el secret, la URL del servicio de tokens y el host del runtime:
{
"oauth": {
"clientid": "<client id>",
"clientsecret": "<secret>",
"url": "https://<subaccount>.it-cpi<nn>-rt.cfapps.<region>.hana.ondemand.com",
"tokenurl": "https://<subaccount>.authentication.<region>.hana.ondemand.com/oauth/token"
}
}Trata el client secret como una contraseña: mantén la key fuera de archivos compartidos, tickets y chats.
Llama al endpoint y lee la respuesta
La llamada requiere dos solicitudes: un token con el grant client credentials y, después, la llamada en sí con ese token:
# 1. Get an access token with the client credentials of the service key
curl -X POST "<tokenurl>" \
-u "<clientid>:<clientsecret>" \
-d "grant_type=client_credentials"
# 2. Call the iFlow's HTTPS endpoint with the token
curl -i -X POST "<url>/http/orders/create" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d @order.json
# The response headers include SAP_MessageProcessingLogID: the Message ID of this call.- 401: falta el token, ha caducado o es de otra subcuenta.
- 403: el rol de la service key no puede enviar mensajes, o el emisor HTTPS exige un token CSRF. En un endpoint de prueba puedes desactivar la protección CSRF en el canal, o pedir antes un token.
- 404: la dirección es incorrecta o el iFlow no está desplegado.
- 500: el iFlow falló; el log de procesamiento del mensaje indica dónde.
Sea cual sea el estado, el header de respuesta SAP_MessageProcessingLogID da el Message ID de la llamada, y con él puedes abrir el mensaje: consulta cómo encontrar un mensaje por Message ID.
Hazlo en el navegador con el HTTP Runner
La Toolbox de Kitegra incluye un HTTP Runner para los endpoints de tus iFlows. Ábrelo desde la vista «Herramientas» de la ventana emergente de la extensión.
- «Nueva colección» y «Nueva solicitud» crean una colección de solicitudes con GET, POST, PUT, PATCH, DELETE o HEAD, parámetros de consulta, cabeceras y un cuerpo JSON, XML o de texto, o un archivo.
{{variables}}y entornos (dev, test, prod): añade uno con «Nuevo entorno» o envía con «Sin entorno». Una variable marcada como «Secreta» guarda su valor en este navegador.- Auth: «De la colección», «Ninguno», «Basic», «Token Bearer» u «OAuth2 client credentials (service key)», donde pegas el JSON de una «Service key (Process Integration Runtime)»; el token se obtiene por ti. Hace falta una clave con client secret; una clave basada en certificado no es compatible.
- «Pruebas» comprueba la respuesta («Estado igual a», «El cuerpo contiene», «JSONPath igual a», «XPath igual a»), «Extraer» guarda valores de ella en variables y «Ejecutar colección» envía toda la colección en orden.
- «Importar» → «Colección de Postman» trae una colección de Postman, como en de Postman u OpenAPI a un receptor HTTP, y en la pestaña «Conjunto de datos», «Enviar cada payload» envía cada payload de un conjunto de datos del generador de payloads de prueba.
No se envía nada hasta que haces clic en «Enviar», y tus cookies de SAP nunca se envían. El Runner solo llama a hosts bajo *.hana.ondemand.com. Tras una llamada, «Abrir en el monitor» abre el mensaje a partir de su SAP_MessageProcessingLogID en el visor de logs; si el host del diseñador no se puede deducir del endpoint, indica «Tenant (host del diseñador) para Abrir en el monitor» en el entorno.
Traza la llamada
- Abre el iFlow en el diseñador, abre «Mensajes» desde el botón «Herramientas de Kitegra» y cambia «Trace: desactivado» a activado.
- Haz clic en «Enviar» en el Runner, o llama al endpoint con curl.
- El mensaje aparece en el panel «Mensajes» con una marca TRACE. Elige «En el diagrama».
- Haz clic en un paso coloreado para ver el body, los headers y las exchange properties antes de él.
Trazar un mensaje paso a paso cubre en detalle el panel del trace.
Cómo ayuda Kitegra
En Kitegra, la service key, los valores de autenticación y las variables secretas se quedan en tu navegador. Con la sesión iniciada, las colecciones y los entornos del Runner se sincronizan con tu cuenta de Kitegra sin ningún valor de autenticación ni variable secreta. El Runner forma parte de la Toolbox, que es gratuita; el trace y el visor de logs pertenecen al Message Monitor.
El Helper, Message Monitor, iFlow Inspector e iFlow Docs cuentan cada uno los iFlows en los que los usas: 5 por módulo sin una cuenta de Kitegra, 50 con el plan Free, 100 con Starter y 300 con Pro; Business no tiene límite. La Toolbox y los extras del espacio de trabajo son gratuitos. Compara los planes.
Pruébalo en tu próximo iFlow
Descubre lo que Kitegra añade alrededor del diseñador de SAP Integration Suite, o míralo junto a las demás extensiones de Chrome de Kitegra.
Preguntas frecuentes
¿Cómo llamo a un endpoint HTTPS de SAP CPI con OAuth?
Obtén un token desde la URL de tokens de la service key con el grant client credentials y llama al endpoint con el header Authorization: Bearer y el token.
¿Qué service key necesito?
Una service key de una instancia de Process Integration Runtime con el plan integration-flow y un rol que pueda enviar mensajes.
¿Por qué mi iFlow HTTPS devuelve 403?
Normalmente porque el rol de la key no puede enviar mensajes, o porque el emisor HTTPS exige un token CSRF.
¿Cómo encuentro el mensaje que creó mi llamada?
Lee el header de respuesta SAP_MessageProcessingLogID: es el Message ID de la llamada.
¿Dónde guarda el HTTP Runner mi service key?
En tu navegador. Las colecciones sincronizadas nunca incluyen valores de autenticación ni variables secretas.
¿El HTTP Runner es gratuito?
Sí. Forma parte de la Toolbox, que no cuenta para los iFlows de tu plan.