从较低的ABAP堆栈NW 7.4访问SCP工作流和业务规则API

2020-09-03 01:10发布

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

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


嗨,

我们正在尝试使用SAP Cloud Platform API,例如。 通过ECC系统通过OAuth 2.0进行工作流,业务规则API。 由于此ECC系统是NW ABAP协议栈7.4(SAP_BASIS 7.40 SP05)的较低版本,因此SAP支持专家已通知我们,技术上不支持此较低版本的OAuth调用。由于升级到较高版本将需要 由于系统的重要性,我们花了几个月的时间进行规划,我们正在努力寻找解决方法。

Net,目标是能够以某种方式使用来自ECC系统的这些SCP API。 由于我们已经在另一个系统(S/4HANA NW 7.5)中证明了它能够使用SCP API(OAuth令牌请求+资源访问),因此我们正在考虑使用该S/4系统充当"中间件", S/4系统使用SCP中的API并通过OData服务或启用RFC的FM公开资源/有效负载,因此ECC系统将能够通过RFC或基于REST的OData调用来使用它。

如果您认为这是一种合理的方法,并且看到任何负面影响,例如,我们希望您的专家意见。 安全性,性能..如果您有更好的方法,我也很高兴听到。

我还认为可能也可以使用SCP API管理服务,但我们对此没有能力,因此没有详细考虑。您认为它也可以使用吗?

谢谢。

迈克尔

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

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


嗨,

我们正在尝试使用SAP Cloud Platform API,例如。 通过ECC系统通过OAuth 2.0进行工作流,业务规则API。 由于此ECC系统是NW ABAP协议栈7.4(SAP_BASIS 7.40 SP05)的较低版本,因此SAP支持专家已通知我们,技术上不支持此较低版本的OAuth调用。由于升级到较高版本将需要 由于系统的重要性,我们花了几个月的时间进行规划,我们正在努力寻找解决方法。

Net,目标是能够以某种方式使用来自ECC系统的这些SCP API。 由于我们已经在另一个系统(S/4HANA NW 7.5)中证明了它能够使用SCP API(OAuth令牌请求+资源访问),因此我们正在考虑使用该S/4系统充当"中间件", S/4系统使用SCP中的API并通过OData服务或启用RFC的FM公开资源/有效负载,因此ECC系统将能够通过RFC或基于REST的OData调用来使用它。

如果您认为这是一种合理的方法,并且看到任何负面影响,例如,我们希望您的专家意见。 安全性,性能..如果您有更好的方法,我也很高兴听到。

我还认为可能也可以使用SCP API管理服务,但我们对此没有能力,因此没有详细考虑。您认为它也可以使用吗?

谢谢。

迈克尔

付费偷看设置
发送
4条回答
四川大学会员
1楼-- · 2020-09-03 02:12

嗨,迈克尔,

我想您是在谈论SAP CP Neo中的工作流服务。 由于7.4已经具有HTTP客户端的ABAP类,因此您应该可以使用以下文档来实现客户端:使用OAuth 2.0身份验证(客户端凭据)访问工作流API 。 您使用通过HTTPS和基本身份验证访问的特定URL(在SM59中将其定义为外部HTTP目标以安全地存储凭据。它返回承载令牌,您必须将其添加到对API的每个请求中。

最诚挚的问候
格雷戈尔

歪着头看世界
2楼-- · 2020-09-03 02:10

您好格雷戈尔狼 Michael Koch

很抱歉,但是我忘了提及我们使用SAML承载声明流程的原因。 这是因为我们的SAP Cloud Platform正在通过SAP身份验证服务(IAS)作为代理针对我们的企业身份提供程序进行身份验证。 这意味着对SAP Cloud Platform中任何API的所有调用。 必须针对此企业标识提供者对Workflow服务进行身份验证。 话虽如此,客户端凭证流对我们不起作用,因为SCP要求包含我们公司凭证的SAML断言。.我们需要在后端本地系统中登录的人员的用户ID才能在SAML断言中使用 将在SAP Cloud Platform中进行身份验证。。我们已对此进行证明,并确认此方法在S/4HANA环境中有效。 问题出在当我们试图在具有相当旧的SAP_BASIS组件版本的ECC系统中复制它时,这可能会导致缺少S/4中可用的配置点。因此,我们正在考虑一种解决方法,以便在 甚至使用其他方法的ECC系统。

谢谢

Michael

天桥码农
3楼-- · 2020-09-03 01:50

仅添加到Gregor的答案中,您还可以在"使用OAuth访问令牌从ABAP调用SAP Cloud Platform工作流"

落灬小鱼
4楼-- · 2020-09-03 01:57

您好, Michael Koch

感谢您的回复。 实际上,我们之前曾提到过您的博客,它为我们提供了很大帮助。但是,我们遇到的问题是,根据SAP支持专家的说法,7.4 SP05的SAP_BASIS组件的版本已经很旧。 并且在此组件中,我们缺少系统中的许多配置,这些配置使我们无法正确创建OAuth客户端。例如,我们缺少事务OA2C_CONFIG,测试程序OA2C_GENERIC_ACCESS,没有选择来创建OAuth客户端配置文件 在SE80中,在事务SOAUTH2中创建OAuth客户端时,不会生成客户端UUID和实现名称(替代OA2C_CONFIG(在此版本中不可用)。)ABAP程序使用的类CL_OAUTH2_CLIENT要求客户端UUID和实现名称。 '将请求OAuth令牌并访问资源。最后,分配给我们客户消息的SAP支持专家只能建议将SAP_BASIS组件升级到SP22,由于当前的巨大努力和所需的计划,目前无法将其升级到SP22, 以及使用该系统对项目的风险。

因此,我已在此处发布信息,以检查您认为我在原始帖子中提到的解决方法是否可行,或者是否还有其他选择。

谢谢

Michael

一周热门 更多>