SAP CPI کے HTTPS iFlow کو service key سے ٹیسٹ کریں، پھر call کو trace کریں
Process Integration Runtime کی service key سے OAuth client credentials کے ساتھ SAP CPI کا HTTPS endpoint call کریں، call سے بنا message تلاش کریں، اور اسے مرحلہ وار trace کریں۔

HTTPS sender والا iFlow ڈپلائے کرنا آسان ہے اور call کرنا حیرت انگیز حد تک مشکل: آپ کو درست endpoint چاہیے، درست service key سے token، کبھی CSRF token بھی، اور پھر بھی monitor میں وہ message ڈھونڈنا پڑتا ہے جو آپ کی call نے بنایا۔
یہ مضمون SAP Cloud Integration (SAP CPI) کے لیے پورا چکر بیان کرتا ہے: آپ کو کیا چاہیے، token کیسے لیں اور endpoint کیسے call کریں، نتیجے میں بننے والا message کیسے ڈھونڈیں، اور اسے کیسے trace کریں۔
آپ کو کیا چاہیے
- HTTPS sender channel والا ڈپلائے شدہ iFlow۔ اس کا Address، مثلاً
/orders/create، endpoint کا حصہ بنتا ہے۔ - Endpoint URL: runtime host، اس کے بعد
/httpاور address۔ Monitor کا Manage Integration Content ڈپلائے شدہ iFlow کے لیے اسے دکھاتا ہے۔ - Process Integration Runtime کی ایک service instance، پلان
integration-flowاور پیغامات بھیجنے کی اجازت والے role کے ساتھ، اور اس instance کی ایک service key جس میں client ID اور secret ہو۔ - ایک test payload جسے iFlow قبول کرتا ہو۔
Token لیں اور endpoint کو call کریں
Service key میں وہ سب ہے جو call کو چاہیے: client ID اور secret، token service کا URL، اور runtime host:
{
"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"
}
}Client secret کو password کی طرح سمجھیں: key کو مشترکہ فائلوں، tickets اور chats سے دور رکھیں۔
Endpoint کو call کریں اور جواب پڑھیں
Call کے لیے دو requests چاہئیں: client credentials grant کے ساتھ ایک token، پھر اسی token کے ساتھ اصل call:
# 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: token موجود نہیں، اس کی میعاد ختم ہو گئی، یا یہ کسی دوسرے subaccount کا ہے۔
- 403: service key کا role پیغامات بھیجنے کی اجازت نہیں دیتا، یا HTTPS sender کو CSRF token چاہیے۔ Test endpoint کے لیے آپ channel میں CSRF protection بند کر سکتے ہیں، یا پہلے token لے سکتے ہیں۔
- 404: address غلط ہے، یا iFlow ڈپلائے نہیں ہے۔
- 500: iFlow ناکام ہوا؛ message processing log بتاتا ہے کہاں۔
Status جو بھی ہو، response header SAP_MessageProcessingLogID آپ کو call کی Message ID دیتا ہے، اور اس سے آپ message کھول سکتے ہیں: Message ID سے message تلاش کرنا دیکھیں۔
یہ کام براؤزر میں HTTP Runner سے کریں
Kitegra کے Toolbox میں آپ کے iFlow endpoints کے لیے HTTP Runner ہے۔ اسے ایکسٹینشن کے popup کے "ٹولز" view سے کھولیں۔
- "نیا کلیکشن" اور "نئی ریکویسٹ" سے GET، POST، PUT، PATCH، DELETE یا HEAD ریکویسٹس کا ایک کلیکشن بنتا ہے، ساتھ میں query parameters، headers، اور JSON، XML یا ٹیکسٹ body یا کوئی فائل۔
{{variables}}اور انوائرمنٹس (dev، test، prod): "نیا انوائرمنٹ" سے ایک شامل کریں، یا "کوئی انوائرمنٹ نہیں" کے ساتھ بھیجیں۔ "خفیہ" نشان زد ویری ایبل کی قدر اسی براؤزر میں رہتی ہے۔- Auth: "کلیکشن سے"، "کوئی نہیں"، "Basic"، "Bearer ٹوکن" یا "OAuth2 client credentials (سروس کی)"، جس میں آپ "سروس کی (Process Integration Runtime)" کا JSON پیسٹ کرتے ہیں؛ ٹوکن آپ کے لیے لے لیا جاتا ہے۔ client secret والی کی درکار ہے؛ سرٹیفکیٹ پر مبنی کی سپورٹ نہیں ہوتی۔
- "ٹیسٹس" response کو جانچتے ہیں ("اسٹیٹس برابر"، "باڈی میں شامل"، "JSONPath برابر"، "XPath برابر")، "ایکسٹریکٹ" اس سے قدریں ویری ایبلز میں محفوظ کرتا ہے، اور "کلیکشن چلائیں" پورا کلیکشن ترتیب سے بھیجتا ہے۔
- "امپورٹ" پھر "Postman کلیکشن" سے Postman کلیکشن آتا ہے، جیسا کہ Postman یا OpenAPI سے HTTP receiver تک میں ہے، اور "ڈیٹا سیٹ" ٹیب پر "ہر پے لوڈ بھیجیں" ٹیسٹ پے لوڈ جنریٹر کے ڈیٹا سیٹ کا ہر پے لوڈ بھیجتا ہے۔
جب تک آپ "بھیجیں" پر کلک نہ کریں کچھ نہیں بھیجا جاتا، اور آپ کی SAP کوکیز کبھی نہیں بھیجی جاتیں۔ Runner صرف *.hana.ondemand.com کے تحت ہوسٹس کو کال کرتا ہے۔ کال کے بعد "مانیٹر میں کھولیں" پیغام کو اس کے SAP_MessageProcessingLogID سے لاگ ویوور میں کھولتا ہے؛ اگر endpoint سے ڈیزائنر ہوسٹ کا اندازہ نہ ہو سکے تو انوائرمنٹ میں "مانیٹر میں کھولیں کے لیے ٹیننٹ (ڈیزائنر ہوسٹ)" سیٹ کریں۔
Call کو trace کریں
- ڈیزائنر میں iFlow کھولیں، "Kitegra ٹولز" بٹن سے "پیغامات" کھولیں، اور "Trace: بند" کو آن کریں۔
- Runner میں "بھیجیں" پر کلک کریں، یا curl سے endpoint کال کریں۔
- Message، TRACE کے نشان کے ساتھ "پیغامات" panel میں نظر آتا ہے۔ "ڈایاگرام پر" چنیں۔
- کسی رنگین step پر کلک کریں تاکہ اس سے پہلے کی body، headers اور exchange properties دیکھ سکیں۔
Message کو مرحلہ وار trace کرنا trace panel کو تفصیل سے بیان کرتا ہے۔
Kitegra کیسے مدد کرتا ہے
Kitegra میں service key، auth values اور خفیہ variables آپ کے براؤزر میں رہتے ہیں۔ سائن اِن ہونے پر Runner کے collections اور انوائرمنٹس، ہر auth value اور خفیہ variable ہٹا کر، آپ کے Kitegra اکاؤنٹ کے ساتھ sync ہوتے ہیں۔ Runner، Toolbox کا حصہ ہے جو مفت ہے؛ tracing اور log viewer کا تعلق Message Monitor سے ہے۔
Helper، Message Monitor، iFlow Inspector اور iFlow Docs میں سے ہر ایک ان iFlows کو گنتا ہے جن پر آپ اسے استعمال کرتے ہیں: Kitegra اکاؤنٹ کے بغیر ہر ماڈیول میں 5، Free پلان پر 50، Starter پر 100 اور Pro پر 300؛ Business میں کوئی حد نہیں۔ Toolbox اور ورک اسپیس کی اضافی سہولتیں مفت ہیں۔ پلانز کا موازنہ کریں۔
اپنے اگلے iFlow میں آزمائیں
پڑھیں کہ Kitegra، SAP Integration Suite ڈیزائنر کے ارد گرد کیا اضافہ کرتا ہے، یا اسے Kitegra کی دوسری Chrome ایکسٹینشنز کے ساتھ دیکھیں۔
اکثر پوچھے جانے والے سوالات
SAP CPI کے HTTPS endpoint کو OAuth کے ساتھ کیسے call کروں؟
Service key کے token URL سے client credentials grant کے ساتھ token لیں، پھر header Authorization: Bearer اور token کے ساتھ endpoint کو call کریں۔
مجھے کون سی service key چاہیے؟
Process Integration Runtime instance کی service key، پلان integration-flow اور پیغامات بھیجنے کی اجازت والے role کے ساتھ۔
میرے HTTPS iFlow سے 403 کیوں آتا ہے؟
عام طور پر key کا role پیغامات بھیجنے کی اجازت نہیں دیتا، یا HTTPS sender کو CSRF token چاہیے۔
میری call سے بنا message کیسے تلاش کروں؟
Response header SAP_MessageProcessingLogID پڑھیں: یہ call کی Message ID ہے۔
HTTP Runner میری service key کہاں رکھتا ہے؟
آپ کے براؤزر میں۔ Sync ہونے والے collections میں کبھی auth values یا خفیہ variables شامل نہیں ہوتے۔
کیا HTTP Runner مفت ہے؟
جی ہاں۔ یہ Toolbox کا حصہ ہے، جو آپ کے پلان کے iFlows میں نہیں گنا جاتا۔