(询问)SuccessFactors之间到第三应用程序的集成

2020-08-27 00:56发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

美好的一天

我在将SuccessFactors集成到第3个应用程序方面遇到问题

我为此创建的设计

流为:

1。 我们将从交易钱包中获取多个数据

我们拥有的查询

 $ select = mdfSystemTransactionSequence,cust_OrderNumber,cust_Quantity,cust_TypeVoucher,externalCode,cust_Email,cust_EmpCellphone 

注意:

-mdfSystemTransactionSequence = request_id

-cust_OrderNumber =订单号

-cust_Quantity =数量

-cust_TypeVoucher = sku

-externalCode =用户ID

-cust_Email =电子邮件

-cust_EmpCellphone =电话号码

2。 因为第3个应用仅获取json格式,所以我正在使用XML到JSON转换器

3。 在将数据推送到第3个应用之前,我们需要先拥有访问令牌

app_id:uvxdanamonflexibenefit

app_key:68624382b704528fa9fe6589611d5884

结果将是

{" http_code":200,"状态":"成功","代码":" SSR001","令牌":" 0fda1d93-5d56-55a8-91f9-3c3a4212024c","到期时间":7200," expired_time" ":" 2019-12-12 12:36:43"}

4。 我们需要将数据推送到第三个应用程序

基于第3个应用提供的文档

他们只放了一些这样的编程PHP

使用Php的示例–签名openOrder
 $ dataBody = [
 " request_id" =>" 5649b6e9-897e-7e49c0070973",
 " order_number" =>" CL-S0-0002",
 " sku" =>" SKU-UV-00100",
 " qty" =>" 2",
 " receiver_name =>" John Doe",
 " receiver_email" =>" john.doe@email.com",
 " receiver_phone" =>" 081188443400"
 ];
 $ reqMethod ='发布';
 $ reqBody = json_encode($ dataBody);
 $ milliseconds ='1519705452032';
 $ reqUrl ='/api/v1/orders/openorder';
 $ appKey ='voucher123321';
 $ statusSignature = false;
//开始md5正文
 $ reqBody = str_replace(" \ r"," \\ r",$ reqBody);
 $ reqBody = str_replace(" \ n"," \\ n",$ reqBody);
 $ reqBody = $ reqBody!=""吗?  md5($ reqBody):"";
//端体
//原始签名
 $ reqSecret = $ reqMethod。  "-"。  trim($ reqBody)。  "-"。  $ milliseconds。  "-"。$ reqUrl;
 回声'
'。$ reqSecret。'
'; //开始使用appkey加密签名 $ signature = hash_hmac('sha256',$ reqSecret,$ appKey,true); $ encodedSignature = base64_encode($ signature)

所以问题是:

1。 关于IFLOW,您有什么建议吗?

2。 这个脚本有什么解决方案吗?

请帮助,希望对此有解决方案

谢谢

(30.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

美好的一天

我在将SuccessFactors集成到第3个应用程序方面遇到问题

我为此创建的设计

流为:

1。 我们将从交易钱包中获取多个数据

我们拥有的查询

 $ select = mdfSystemTransactionSequence,cust_OrderNumber,cust_Quantity,cust_TypeVoucher,externalCode,cust_Email,cust_EmpCellphone 

注意:

-mdfSystemTransactionSequence = request_id

-cust_OrderNumber =订单号

-cust_Quantity =数量

-cust_TypeVoucher = sku

-externalCode =用户ID

-cust_Email =电子邮件

-cust_EmpCellphone =电话号码

2。 因为第3个应用仅获取json格式,所以我正在使用XML到JSON转换器

3。 在将数据推送到第3个应用之前,我们需要先拥有访问令牌

app_id:uvxdanamonflexibenefit

app_key:68624382b704528fa9fe6589611d5884

结果将是

{" http_code":200,"状态":"成功","代码":" SSR001","令牌":" 0fda1d93-5d56-55a8-91f9-3c3a4212024c","到期时间":7200," expired_time" ":" 2019-12-12 12:36:43"}

4。 我们需要将数据推送到第三个应用程序

基于第3个应用提供的文档

他们只放了一些这样的编程PHP

使用Php的示例–签名openOrder
 $ dataBody = [
 " request_id" =>" 5649b6e9-897e-7e49c0070973",
 " order_number" =>" CL-S0-0002",
 " sku" =>" SKU-UV-00100",
 " qty" =>" 2",
 " receiver_name =>" John Doe",
 " receiver_email" =>" john.doe@email.com",
 " receiver_phone" =>" 081188443400"
 ];
 $ reqMethod ='发布';
 $ reqBody = json_encode($ dataBody);
 $ milliseconds ='1519705452032';
 $ reqUrl ='/api/v1/orders/openorder';
 $ appKey ='voucher123321';
 $ statusSignature = false;
//开始md5正文
 $ reqBody = str_replace(" \ r"," \\ r",$ reqBody);
 $ reqBody = str_replace(" \ n"," \\ n",$ reqBody);
 $ reqBody = $ reqBody!=""吗?  md5($ reqBody):"";
//端体
//原始签名
 $ reqSecret = $ reqMethod。  "-"。  trim($ reqBody)。  "-"。  $ milliseconds。  "-"。$ reqUrl;
 回声'
'。$ reqSecret。'
'; //开始使用appkey加密签名 $ signature = hash_hmac('sha256',$ reqSecret,$ appKey,true); $ encodedSignature = base64_encode($ signature)

所以问题是:

1。 关于IFLOW,您有什么建议吗?

2。 这个脚本有什么解决方案吗?

请帮助,希望对此有解决方案

谢谢

(30.7 kB)
付费偷看设置
发送
4条回答
大道至简
1楼-- · 2020-08-27 01:40

嗨,阿格斯

我认为您在这里一次尝试了太多事情。 创建一个iflow来获取访问令牌并将其放入标头(如果这是接收器系统想要的)。 在这种情况下,请确保您的SF查询有效并返回所需的数据。 当这种方法有效时,请确保JSON转换有效,等等。如果不确定各个步骤的工作原理,一次尝试所有步骤都是失败的秘诀。

对于PHP程序,我不认为 真的不明白这个问题吗? 另外,在接收端发生的事情并不会真正影响您的集成-当然,除了商定的JSON格式之外。

问候,

Morten

lukcy2020
2楼-- · 2020-08-27 01:45

嗨,阿格斯

我给了你一些注意事项。 但是,请考虑这是一个学习的机会。 将您的解决方案分解为较小的问题,并一次解决一个问题-并非一次解决所有问题。

问候

Morten

追夢秋陽
3楼-- · 2020-08-27 01:40

您好,< rel =" nofollow" hraf=" https://people.sap.com/mortenw"> Morten Wittrock
能否给我一个iflow来获取访问令牌并将其放入标头中?/p>

我真的不知道您的信息

谢谢

Doze时光
4楼-- · 2020-08-27 01:25

嗨,阿格斯

我可以给您一些有关如何检索访问令牌并将其放在标头中的注释。 这不是完整的iflow,但是如果您自己拼凑而成,将会学到更多。 另外,我认为您应该在解决方案的其他步骤中尝试类似的练习。 如果您遇到问题,请将其发布为单独的,更具针对性的问题。 无论如何,我们走了。

您在"请求答复"步骤的正确轨道上。 它执行HTTP GET请求,并用响应替换当前的有效负载。 现在,您有了一些包含访问令牌的JSON:

 {
   " http_code":200,
   " status":"成功",
   "代码":" SSR001",
   "令牌":" 0fda1d93-5d56-55a8-91f9-3c3a4212024c",
   "到期":7200,
   " expired_time":" 2019-12-12 12:36:43"
 } 

要提取令牌,可以运行一个小的脚本,也可以使用内置的步骤。 我建议使用后者。

首先使用JSON to XML Converter步骤将JSON转换为XML。 像这样配置它:

接下来,您可以使用XPath提取访问令牌 并将其放入标头中一次操作 添加一个内容修改器步骤,并按以下步骤进行配置:

如果您提出另一个请求 到此为止,如果回复HTTP请求,accessToken标头将被传递到接收系统。

祝你好运,玩得开心,

Morten

一周热门 更多>