云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

免备案CDN_网站制作建设公司_是什么

小七 141 0

我们要求将SFSF LMS"学习批准"引入SAP HCM,并能够批准或拒绝SAP的这些项目。虽然SFSF LMS将各种实体公开为OData V4 API,大数据与人工智能,但在尝试与SAP HCM集成时,在方法上存在一些问题:

要使用哪种PI适配器–SFSF、OData或REST?如何将JSON转换为XML(在PI中处理),反之亦然?如何为LMS API生成所需的XSD(用于映射)?

快速搜索PI/PO和Successfactors社区可以发现,已经做了大量工作,涵盖了SF Bizx、EC和SF LMS(标准SAP交付内容或LMS API的早期版本)的集成场景。关于如何使用SAP PI集成最新的SFSF OData V4 LMS API,我们所能找到的信息很少。

我们意识到回答这些问题的最佳方法是启动POC。

我从NW PI连接附加组件1.0"SFSF适配器"和"OData适配器"开始。虽然这是一个很好的起点,但很快我就发现如何使用这些适配器来使用SFSF LMS api存在一些限制。SFSF LMS论坛上有许多关于使用PI/PO使用LMS OData V4所面临问题的讨论。

在浏览了各种"PI REST适配器"博客、SAP文档并查看了适配器的一般性质之后,我决定尝试一下REST适配器。

第二个问题,我们如何将JSON转换为XML,反之亦然?同样有一些精彩的博客说明了如何使用:

标准REST适配器JSON转换器或Eng Swee Yeoh开发的定制模块

最后,为SFSF LMS API创建XSD,以在PI中执行所需的映射。计划是使用Eclipse(Mars)"建模操作"来生成xsd,但是再看看可用的选项,这对于SFSF LMS api是不可能的。

例如:当使用带有REST或OdataV4协议的Successfactors适配器时,"建模操作"选项不可用,而对于OData V2协议,"建模操作"不允许使用SFSF LMS"客户机机密"进行身份验证。

这需要更多的调查,云服务器服务商,以提出一组可重复的步骤来生成XSD,并且可能应用于其他场景。本指南将介绍我在本POC期间使用的步骤。

要实现上述端到端流程,我们需要创建3个流:

首先获取用户OAuth令牌,移动大数据,其次,使用OAuth令牌检索用户的"Learning Approval"项,并最后,使用这些项目批准或拒绝SAP的SFSF LMS。

本指南将重点介绍如何实施第二个流程,从SFSF LMS检索"学习批准"项目。其他流程也以类似的方式实现,但本文档中没有介绍。

使用的LMS API:GET/learning/odatav4/public/user/user service/v1/learningapprovals

用于此POC的PI版本为7.31 SP12(单栈)

步骤1:使用SOAP UI或任何其他REST客户端,从SFSF LMS获取请求或响应JSON

步骤2:使用在线工具将JSON转换为XML。单击此处查看我使用的工具。

步骤3:在生成的xml文件中:

之后标记,创建一个,并用结束文件。XML文件不能有多个根节点。删除任何特殊符号(例如:@)。生成的XML将如下所示

步骤6:上传并验证ESR中的XSD作为外部定义(ED\U LearningApproval)进行响应。

提示:对SI、MM和OM使用"根"消息。

步骤7:重复上述步骤创建外部定义以处理"请求"。在这个流中,我们只需要一个空XSD来传递OAuth令牌。更多详细信息,上云,请参阅ESR步骤。

步骤1:根据发送方系统(SAP HCM)中的要求,为请求和响应创建新的数据类型和消息类型。

请求:DT\u LearningApprovalRequest,MT\u LearningApprovalRequest。

响应:DT\u LearningApprovalResponse,MT_LearningApprovalResponse.

步骤2:创建出站和入站服务接口(同步)

出站:

入站:注意:请求外部消息是一个消息名为"root"的伪XSD。不要与响应外部消息名称混淆,后者也有一个消息名称"root"?–应该换个名字!

步骤3:完成请求和响应的消息映射。

请求:MT_LearningApprovalRequest到外部定义(空)注意:在这个特定的场景中,我们将使用请求映射将OAuth令牌带到REST适配器HTTP头(在第一个流中生成)。

或者可以使用动态配置来传递特定于适配器的值。选择权在你。响应:ED_LearningApproval到MT_LearningApprovalResponse

步骤4:完成连接源操作和目标操作的"操作映射"

转到Integration Builder,我们将首先配置通道并使用标准的REST适配器JSON到XML转换。

发送方:

这将是一个到SAP HCM盒的普通SOAP适配器。

接收方:

以下显示REST适配器配置。

从以下XPath映射中获取"oauth_令牌",然后通过HTTP头传递。

有两个处理有效负载转换的选项,您可以选择"标准REST适配器"JSON到XML的转换,如图所示

或使用自定义模块(custom\u AF\u Modules/FormatConversionBean)进行JSON2XML转换。

两个选项都可以正常工作。

将模块配置保留为标准JSON到XML转换的默认设置。

要运行接口,创建了一个测试ABAP程序,该程序在选择屏幕中获取"用户ID",并触发对SF LMS的两个接口调用。

第一个调用是获取OAuth令牌,然后第二个调用是通过传递收到的OAuth令牌从SF LMS检索任何挂起的"批准项目"。

通过单击"Tap ID",用户将获得选项"Approve"或"Deny"以及相应的API被调用(这是第三个流程)。

最终的实现将着眼于创建SAP工作项并将其推送到一个定制的移动审批应用程序,该应用程序目前在我们的网站上使用。

下面显示了请求/响应日志,还显示了使用标准的JSON到XML的负载转换REST适配器:

请求:

响应:

有效负载:转换前

有效负载:转换后

我希望以上方法或其中的一部分可以作为使用SAP PI REST适配器集成SFSF LMS API(OData V4)的指南。