使用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:
https:///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="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global"><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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
使用nodejs消费SAP Cloud for Customer上的Web service相关推荐
- 最详细的使用 soapui 消费 SAP Cloud for Customer Web service 的教程
本文就以SAP Cloud for Customer的web service消费这个需求为例,来讲解soapui这个工具的使用步骤. 使用soapui消费web service,最简单的方式是在soa ...
- SAP Cloud for Customer里如何根据产品ID拿到其UUID
在我们需要把SAP Cloud for Customer同第三方系统集成时,经常需要在第三方系统里消费SAP Cloud for Customer的API, 这些API往往需要指定SAP C4C对象的 ...
- SAP Cloud for Customer 如何直接消费S/4HANA API
最近有朋友在微信上问我本文标题这个需求,如何在 SAP Cloud for Customer 里实现.正好我在 2018年底参加的 SAP 和沈阳自动化研究所合作设计的一个工业 4.0 示范系统 PO ...
- SAP Cloud for Customer UI Designer里如何消费Object Value Selector(OVS)
先看最后实现的效果: 我有一个字段,用户既手动输入Employee ID,也可以点击字段的矩形框,打开Value help: 假设我选中ID为1的Employee,则其first name和last ...
- SAP Cloud for Customer 技术概述
SAP Cloud for Customer 标准培训课程 文章目录 SAP Cloud for Customer 架构 SAP Cloud for Customer 部署的三种方式 SAP Clou ...
- 机器学习在SAP Cloud for Customer中的应用
关于机器学习这个话题,我相信我这个公众号1500多位关注者里,一定有很多朋友的水平比Jerry高得多.如果您看过我以前两篇文章,您就会发现,我对机器学习仅仅停留在会使用API的层面上. 使用Java程 ...
- SAP Cloud for Customer Price-计价简介
SAP Cloud for Customer(本文以下简称C4C)作为SAP新一代的CRM云产品,其Price功能实现虽不如以前的SAP ERP那么复杂,但是也能满足企业运作中各种Price需求. C ...
- 如何在 SAP Cloud for Customer 里自定义消息 Message
在 SAP Cloud for Customer 里,虽然 Partners 不允许直接登录 ABAP 后台,但仍旧可以通过 Cloud Application Studio 新建显示在 UI 上的消 ...
- SAP CRM 和 SAP Cloud for Customer 的表格列项目宽度调整的原理介绍
这是 Jerry 2021 年的第 37 篇文章,也是汪子熙公众号总共第 313 篇原创文章. Jerry 之前的文章 一个 SAP 开发工程师十余年的技术写作之路回顾 曾经提到,知乎上安晓辉老师的一 ...
最新文章
- python 数据增强
- Android --- 控件属性的属性值为 @null
- 【网址收藏】Linux 命令分类(debian Linux)
- Connected to an idle instance问题的小小仇恨
- 数据库---事务的隔离级别
- Churchman University简介:
- php preview,preview.php
- 同一局域网下电脑传输文件的方式(超简单!)
- 小程序影藏溢出的gif_动图制作方法,1分钟教会你如何制作gif表情包!
- matlab fft 基波,fft 谐波分析_matlab fft频谱分析_傅里叶变换谐波分析
- SAP接口编程 之 JCo3.0系列(02) : JCo Client Programming
- 市场调研中的定性/定量分析
- 51单片机:独立按键
- 需求分析——系统建模方法
- 生僻字用计算机的歌词,生僻字歌词翻译成常用汉字 陈柯宇生僻字歌曲翻译谐音版...
- 彩屏显示入门:我要五彩斑斓的黑 | 用Arduino玩转ESP32与掌控板系列
- Java菜鸟逆袭之入门篇(附讲解)
- 2021高考秦安一中成绩查询,2021年天水高考状元是谁分数多少分,历年天水高考状元名单...
- 一位豪气的老板,送东西送到让客户都不好意思了,当天收款100万!
- 计算机格式化后能恢复数据吗,移动硬盘格式化后数据还能恢复吗
热门文章
- mybatis Resultmap 与 ResultType 区别
- 第三次学JAVA再学不好就吃翔(part42)--内部类概述
- Python字符串拼接的十种方式
- SAP UI5 应用开发教程之六 - 了解 SAP UI5 的模块(Module)概念
- 如何使用Chrome command API查找SAP Spartacus的router-outlet
- SAP Spartacus 用户登录成功后,Access Token 持久化到浏览器 local storage 的执行原理
- fixture.detectChange如何通过Angular zone执行其异步逻辑的
- Angular Component 开发时属性和运行时属性的对照
- TypeScript里的完整函数定义语法
- 几种常用的排序算法之JavaScript实现