大家好,
我已经有一段时间没有写博客了,我正在寻找一些与SAP Gateway相关的有趣的用例,这些用例可以对社区有所帮助。最近我参与了SAP和外部第三方集成的工作,我将分享技术诀窍。
让我们开始吧!
背景
这是关于如何使用ABAP代码从SAP系统调用外部REST服务的分步指南。本文档可作为实现从ABAP到任何支持REST请求的第三方服务的调用的参考JSON。这个本博客系列中的示例已使用SAP NetWeaver 7.50实现。但是,使用的ABAP类在NetWeaver 7.3x之后仍然存在。因此,可以很容易地采用该代码以适应较旧的SAP版本。
准备
在ABAP中开始编码之前,什么是物联网,我们必须执行以下准备步骤。
从浏览器导出SSL证书
您需要为承载REST服务的外部slack服务器提供SSL证书。以下步骤演示如何使用Google Chrome导出相应的证书。
在SAP系统中安装证书
按照以下步骤在SAP系统中安装导出的SSL证书。
在SAP中维护RFC目标
我们必须使用以下技术参数创建G型RFC目标设置:
目标主机:https://slack.com/api/conversations.list
在我们的示例中,此RFC目的地称为ODATAORG。
请注意,如果您在公司网络中,由于安全原因,企业管理应用,访问外部网站和web服务受到防火墙的限制,则可能需要配置代理服务器。
维护目的地细节根据您的要求。下面的屏幕截图仅供演示之用。
SAP中TLS/SSL参数的配置
TLS(传输层安全)用于保护您在SAP中的应用程序(充当使用者代理)与我们正在接口的REST API之间的通信。
在某些情况下,外部服务器中托管的REST服务服务器支持不同版本的TLS,如1.0/1.1/1.2。确保在SAP中启用所需的TLS/SSL配置以连接REST api。除非另有说明,否则您可能无法从SAP访问api。
在现代api中,物联网应用技术,TLS版本1.0不受支持。API集成至少使用TLS 1.1,但建议使用1.2版。
您可以随时使用测试环境测试您的集成是否兼容(https://api-testbed.giftbit.com/papi/v1)
如果在测试连接时,软件企业优惠,您的测试调用失败,导致SSL握手失败或SM59中出现类似错误,请参阅F1文档或ICM监视器(TCode:SMICM),用于与restapi通信。此类故障可能是由于使用的语言版本或库已过时,不支持较新的TLS版本。
随附的OSS消息详细讨论了ABAP应用服务器中要启用的SSL配置https://launchpad.support.sap.com/#/notes/510007
这就是我们要做的所有配置保持。在本博客系列的下一部分中,我们将看到如何编写ABAP代码解决方案,小企业管理软件免费,使用标准处理程序CL\u REST\u HTTP\u CLIENT和解析器类/UI2/CL\u JSON来使用这些REST api。