使用nodejs消費SAP Cloud for Customer上的Web service
Jerry在公眾號文章C4C和微信整合系列教程裡曾經使用nodejs去消費C4C提供的標準webservice。
看一個具體例子:C4C裡Individual Customers可以維護Social User Profile,在Jerry上面的公眾號文章裡,正是把微信使用者的open ID維護到Social User Profile的SocialMediaAccountUserID欄位去,如下圖所示。
那麼已知一個Social Profile ID,如何用nodejs透過Web Service的方式獲得該Profile明細?
首先到Administrator->Input and Output Management->Service Explorer中取得標準的查詢Social User profile的web service:
name>/sap/bc/srt/scs/sap/requestforsocialmediauserprofi
然後使用nodejs module request給這個url發一個HTTP post請求。
您可以參考我github上的原始碼。
var request = require('request'); var config = require("../../config.js"); function getSocialMediaProfile(profileID) { console.log("Jerry trace begin ***********************************"); console.log("url: " + config.socialMediaProfileGetEndPoint); console.log("config.credential_qxl: " + config.credential_qxl); var ogetSocialMediaProfileOptions = { url: config.socialMediaProfileGetEndPoint, method: "POST", headers: { "content-type": "text/xml", 'Authorization': 'Basic ' + new Buffer(config.credential_qxl).toString('base64')
}, body: '<soapenv:Envelope xmlns:soapenv="" xmlns:glob=""><soapenv:Header/><soapenv:Body><glob:SocialMediaUserProfileRequest_sync>' +'<SocialMediaUserProfileSelectionByElements>' +'<SelectionBySocialMediaUserProfileID>' +'<InclusionExclusionCode>I</InclusionExclusionCode>' +'<IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode>' +'<LowerBoundarySocialMediaUserProfileID >' + profileID + '</LowerBoundarySocialMediaUserProfileID>' +'</SelectionBySocialMediaUserProfileID>' +'</SocialMediaUserProfileSelectionByElements>' +'</glob:SocialMediaUserProfileRequest_sync></soapenv:Body></soapenv:Envelope>' }; console.log("body: " + ogetSocialMediaProfileOptions.body); console.log("Jerry trace end ***********************************"); return new Promise(function(resolve,reject){
request(ogetSocialMediaProfileOptions,function(error,response,body){ console.log("Jerry web service response: " + body); var soapreg = /.*<SocialMediaUserAccountID>(.*)<\/SocialMediaUserAccountID>.*/; var soapresult = soapreg.exec(body); if( soapresult.length === 2){
resolve(soapresult[1]);
}
});
});
} module.exports = getSocialMediaProfile;
將上述程式碼另存為檔案getSocialMediaProfileTest.js, 直接使用node getSocialMediaProfileTest.js執行。
從console能觀察到傳送的HTTP post請求的body和返回的響應內容:
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2156270/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用soapUI消費SAP Cloud for Customer的web serviceUICloudWeb
- SAP Cloud for Customer 如何直接消費S/4HANA APICloudAPI
- 如何在SAP CRM裡建立和消費Web serviceWeb
- 使用SAP雲平臺的destination消費Internet上的OData service
- SAP Cloud for Customer UI Designer裡如何消費Object Value Selector(OVS)CloudUIObject
- 如何處理消費SAP ABAP Web Service時遇到的Unauthorized錯誤WebZed
- 如何在 SAP BTP 上使用 Integration Suite 消費 S/4HANA Cloud APIUICloudAPI
- 最詳細的 SAP ABAP Web Service 建立和消費步驟講解Web
- 如何使用SAP Cloud for Customer裡的Data SourceCloud
- SAP Cloud for Customer的前世今生Cloud
- SAP Cloud for Customer框架是如何使用JavaScript Promise的Cloud框架JavaScriptPromise
- 消費SAP C4C Web Service時遇到的Authorization role missing錯誤Web
- 如何使用 API 的方式給 SAP service cloud Registered product 上傳圖片APICloud
- 如何使用API的方式消費SAP Commerce Cloud的訂單服務APICloud
- 如何使用 API 的方式消費 SAP Commerce Cloud 的訂單服務APICloud
- SAP Cloud for Customer Account和individual customer的區別Cloud
- 使用Excel匯入資料到SAP Cloud for Customer系統ExcelCloud
- 機器學習在SAP Cloud for Customer中的應用機器學習Cloud
- SAP 電商雲 Spartacus UI 同 SAP Customer Data Cloud 的整合UICloud
- 如何在 SAP BTP 平臺 ABAP 程式設計環境裡消費基於 SOAP 的 Web Service程式設計Web
- 使用Excel消費C4C的OData serviceExcel
- SAP Customer Data Cloud(Gigya)的使用者搜尋實現Cloud
- SAP Cloud for Customer Rule Editor的使用方法和底層工作原理Cloud
- SAP Cloud for Customer的CTI呼叫中心解決方案Cloud
- SAP Cloud for Customer的Mashup位於CustomPane裡Cloud
- SAP Cloud for Customer ABSL的一些優化Cloud優化
- 自開發Web應用和SAP Customer Data Cloud Identity服務的整合WebCloudIDE
- SAP Cloud for Customer的Account Team裡的role如何配置Cloud
- SAP Cloud for Customer裡BusinessPartner, Customer和Employee這些BO的區別Cloud
- SAP Cloud for Customer和SAP Fiori系統裡的OData測試工具Cloud
- 如何把SAP Kyma和SAP Cloud for Customer連線起來Cloud
- SAP Cloud for Customer 標準培訓課程Cloud
- SAP Cloud for Customer Price-計價簡介Cloud
- SAP Cloud for Customer的Container應用設計原理CloudAI
- SAP Cloud for Customer Extensibility的設計與實現Cloud
- 如何給SAP Cloud for Customer UI上的欄位新增自定義校驗邏輯CloudUI
- SAP Analytics Cloud和Cloud for Customer之間的Single Sign on配置Cloud
- 部署在SAP Cloud Platform CloudFoundry環境的應用如何消費SAP Leonardo機器學習APICloudPlatform機器學習API