在SAP Cloud Platform Integration中提供RFC API(将小RFC转换为Java应用程序的HTTP代理吗?)

2020-08-17 19:52发布

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

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


嗨,

我们有一个使用rfc与我们的系统连接的(非SAP)系统。 它充当RFC服务器(因此提供了一个RFC API),并在我们的R/3系统中调用api。

我们迁移到S/4,我们不希望其他系统直接访问S/4。 我们有一个Cloud Platform Integration(CPI),但是很遗憾,它不能充当RFC Server。 它只能调用RFC。

所以我们需要像RFC到HTTP以及HTTP到RFC转换器之类的东西。

有人有没有使用过像小型Java应用程序那样的提供RFC端口的经验? 当外部系统连接时,它将在后台调用http服务并返回数据。

预先感谢

马库斯

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

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


嗨,

我们有一个使用rfc与我们的系统连接的(非SAP)系统。 它充当RFC服务器(因此提供了一个RFC API),并在我们的R/3系统中调用api。

我们迁移到S/4,我们不希望其他系统直接访问S/4。 我们有一个Cloud Platform Integration(CPI),但是很遗憾,它不能充当RFC Server。 它只能调用RFC。

所以我们需要像RFC到HTTP以及HTTP到RFC转换器之类的东西。

有人有没有使用过像小型Java应用程序那样的提供RFC端口的经验? 当外部系统连接时,它将在后台调用http服务并返回数据。

预先感谢

马库斯

付费偷看设置
发送
5条回答
亦是此间程序员
1楼-- · 2020-08-17 20:32

您好 Markus Discher

我不太了解这种情况。 据我了解,您拥有使用JCO库作为服务器来实现API的系统" A"(不是ABAP)。 这就是令人困惑的地方。您说系统" A"还调用系统" B"上的API。 如果我的理解是正确的,那么您有系统" A"尝试从系统" B"调用RFC,并且您希望避免RFC协议将其切换为HTTP协议。 换句话说,您希望系统" A"通过HTTP协议调用相同的API。

如果我的理解是正确的,那么您可能需要阅读以下博客:

https://blogs.sap.com/2012/02/13/calling-rfc-enabled-function-modules-over -http-from-external-application/

最好的问候,
伊凡

黑丝骑士
2楼-- · 2020-08-17 20:30

嗨,马库斯,

最好 据我所知,没有这样的应用程序可以完成从RFC到HTTP的转换。 至少不是SAP制造的。

我很好奇为什么SCI不允许您使用RFC适配器连接到系统B。 SCI iflow将由某个事件触发,届时将调用接收方系统B-实际上将调用RFC目标。 在这种情况下,为什么SCI需要成为RFC服务器?

您是说SCI应该通过RFC从系统B接收事件吗? 这是您需要的吗? 在这种情况下,我建议您调整系统B上的事件发射器功能,以通过HTTP协议直接调用SCI,而不是尝试通过代理应用程序实现此修改-您将通过添加过多的集成来增加集成方案的复杂性 故障点。 您的系统B已经准备好所有数据,可以通过HTTP调用进行发送。 因此,您无需将数据转换为JCO模型并通过Server功能提供,而只需将模型转换为JSON并将其发送到iflow端点(接收器系统)即可。

最好的问候,
伊万

太Q了
3楼-- · 2020-08-17 20:44

您好 伊万·米里索拉(Ivan Mirisola)

感谢您的回答。 我试图简化我的问题。

我们有一个S/4Hana System onPrem,它可以在两个方向上与仅讲RFC(作为客户端和服务器)的第二个系统(B)对话

我们不希望S/4Hana通过RFC与B进行通信,因为我们想通过SAP CPI控制流。 不幸的是,SAP CPI无法提供RFC服务器。

那么是否可能有一个代理(也许是一个Java App),它提供RFC端口到系统B并比通过HTTP将数据发送到SAP CPI?

S/4Hana Cloud Essentials Edition应该存在类似的问题,因为此处无法使用RFC。

最好的问候和预先的感谢

Markus

梦想连接
4楼-- · 2020-08-17 20:28

嗨, Ivan Mirisola

感谢您的回答。 是的,对于RFC Server,我的意思是SCI应该接收RFC。 不幸的是,我们不能更改系统B。它不是SAP系统,提供者坚持认为,他们不可能像HTTP一样发送数据。 仅RFC是可能的。 因此,我认为在CPI上提供HTTP地址不起作用。 RFC可能不是基于HTTP的。

您看到Jco模型的专家吗? 您将如何解决?

另一部分:CPI应该可以通过RFC发送数据。

非常感谢您的帮助! 这确实有很大帮助。

Markus

N-Moskvin
5楼-- · 2020-08-17 20:50

您好 Markus Discher

< em> Q)您看到Jco模型高架了吗? 您将如何解决这个问题?

A)请问您对这个问题更具体吗? 这与原始问题有关吗? 如果不是这样,您将在一个多带带的线程上询问会得到更好的结果。

Q)使用CPI可以通过RFC发送数据...

答:我认为这是基于事件的CPI。 JCO Server将侦听事件。 因此,CPI无法与JCO服务器建立永久链接。 那会破坏CPI的目的。 相反,您可以做的是让ABAP服务器接收事件并改为对CPI进行HTTP调用。 这样,您将能够在CPI上触发iFlow,它将对JCO服务器做出正确的调用。 另一种选择是将数据从系统B提取到平面文件中,并让iFlow时不时地通过FTP服务器在该文件夹中查找文件。

注意:最佳选择是对文件进行更改 系统B以整个过程基于事件的方式工作。 当两个系统都可以成为数据集成的一部分时,正确的集成会带来更好的结果。 我提到的两个选项都将提供次佳的集成。

最好的问候,
伊万

一周热门 更多>