Módulo deste artigo: Caixa de ferramentas
Teste um iFlow HTTPS do SAP CPI com uma service key e rastreie a chamada
Chame um endpoint HTTPS do SAP CPI com OAuth client credentials de uma service key do Process Integration Runtime, encontre a mensagem criada pela chamada e rastreie-a etapa por etapa.

Um iFlow com um sender HTTPS é fácil de implantar e surpreendentemente chato de chamar: você precisa do endpoint certo, de um token da service key certa, às vezes de um token CSRF, e depois ainda precisa encontrar no monitor a mensagem que a sua chamada criou.
Este artigo percorre o ciclo inteiro no SAP Cloud Integration (SAP CPI): o que você precisa, como obter um token e chamar o endpoint, como encontrar a mensagem resultante e como rastreá-la.
O que você precisa
- Um iFlow implantado com um canal sender HTTPS. O Address dele, por exemplo
/orders/create, passa a fazer parte do endpoint. - A URL do endpoint: o host do runtime seguido de
/httpe do endereço. O Manage Integration Content do monitor a mostra para o iFlow implantado. - Uma instância de serviço do Process Integration Runtime com o plano
integration-flowe um papel que possa enviar mensagens, e uma service key dessa instância com um client ID e um secret. - Um payload de teste que o iFlow aceite.
Obtenha um token e chame o endpoint
A service key guarda o que a chamada precisa: o client ID e o secret, a URL do serviço de tokens e o host do 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"
}
}Trate o client secret como uma senha: mantenha a key fora de arquivos compartilhados, tickets e chats.
Chame o endpoint e leia a resposta
A chamada exige duas requisições: um token com o grant client credentials e, depois, a chamada em si com esse 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: o token está ausente, expirado ou é de outra subconta.
- 403: o papel da service key não pode enviar mensagens, ou o sender HTTPS exige um token CSRF. Em um endpoint de teste, você pode desligar a proteção CSRF no canal ou buscar um token antes.
- 404: o endereço está errado ou o iFlow não está implantado.
- 500: o iFlow falhou; o log de processamento da mensagem diz onde.
Seja qual for o status, o header de resposta SAP_MessageProcessingLogID traz o Message ID da chamada, e com ele você pode abrir a mensagem: veja como encontrar uma mensagem por Message ID.
Faça isso no navegador com o HTTP Runner
A Toolbox do Kitegra tem um HTTP Runner para os endpoints dos seus iFlows. Abra-o pela visão “Ferramentas” do pop-up da extensão.
- “Nova coleção” e “Nova requisição” criam uma coleção de requisições com GET, POST, PUT, PATCH, DELETE ou HEAD, parâmetros de consulta, headers e um corpo JSON, XML ou de texto, ou um arquivo.
{{variables}}e ambientes (dev, test, prod): adicione um com “Novo ambiente” ou envie com “Sem ambiente”. Uma variável marcada como “Secreta” mantém o valor neste navegador.- Auth: “Da coleção”, “Nenhum”, “Basic”, “Token Bearer” ou “OAuth2 client credentials (service key)”, em que você cola o JSON de uma “Service key (Process Integration Runtime)”; o token é obtido para você. É preciso uma chave com client secret; chave baseada em certificado não é suportada.
- “Testes” verificam a resposta (“Status igual a”, “Corpo contém”, “JSONPath igual a”, “XPath igual a”), “Extrair” salva valores dela em variáveis e “Executar coleção” envia a coleção inteira em ordem.
- “Importar” → “Coleção do Postman” traz uma coleção do Postman, como em do Postman ou OpenAPI para um receptor HTTP, e na aba “Conjunto de dados”, “Enviar cada payload” envia cada payload de um conjunto de dados do gerador de payloads de teste.
Nada é enviado até você clicar em “Enviar”, e seus cookies do SAP nunca são enviados. O Runner chama apenas hosts em *.hana.ondemand.com. Depois de uma chamada, “Abrir no monitor” abre a mensagem pelo seu SAP_MessageProcessingLogID no visualizador de logs; se o host do designer não puder ser deduzido do endpoint, defina “Tenant (host do designer) para Abrir no monitor” no ambiente.
Rastreie a chamada
- Abra o iFlow no designer, abra “Mensagens” pelo botão “Ferramentas do Kitegra” e mude “Trace: desligado” para ligado.
- Clique em “Enviar” no Runner, ou chame o endpoint com curl.
- A mensagem aparece no painel “Mensagens” com uma marca TRACE. Escolha “No diagrama”.
- Clique em uma etapa colorida para ver o body, os headers e as exchange properties antes dela.
Rastrear uma mensagem etapa por etapa cobre o painel de trace em detalhe.
Como o Kitegra ajuda
No Kitegra, a service key, os valores de autenticação e as variáveis secretas ficam no seu navegador. Com login, as coleções e os ambientes do Runner são sincronizados com a sua conta Kitegra sem nenhum valor de autenticação nem variável secreta. O Runner faz parte da Toolbox, que é gratuita; o trace e o visualizador de logs pertencem ao Message Monitor.
O Helper, o Message Monitor, o iFlow Inspector e o iFlow Docs contam, cada um, os iFlows em que você os usa: 5 por módulo sem uma conta Kitegra, 50 no plano Free, 100 no Starter e 300 no Pro; o Business não tem limite. A Toolbox e os extras do espaço de trabalho são gratuitos. Compare os planos.
Experimente no seu próximo iFlow
Veja o que o Kitegra acrescenta ao redor do designer do SAP Integration Suite, ou confira-o ao lado das outras extensões do Chrome da Kitegra.
Perguntas frequentes
Como chamo um endpoint HTTPS do SAP CPI com OAuth?
Obtenha um token na URL de tokens da service key com o grant client credentials e chame o endpoint com o header Authorization: Bearer e o token.
De qual service key eu preciso?
De uma service key de uma instância do Process Integration Runtime com o plano integration-flow e um papel que possa enviar mensagens.
Por que recebo 403 do meu iFlow HTTPS?
Normalmente o papel da key não pode enviar mensagens, ou o sender HTTPS exige um token CSRF.
Como encontro a mensagem que a minha chamada criou?
Leia o header de resposta SAP_MessageProcessingLogID: ele é o Message ID da chamada.
Onde o HTTP Runner guarda a minha service key?
No seu navegador. Coleções sincronizadas nunca incluem valores de autenticação nem variáveis secretas.
O HTTP Runner é gratuito?
Sim. Ele faz parte da Toolbox, que não conta para os iFlows do seu plano.