REST轮询增量请求-以增量时间值处理通信通道停止时间

2020-08-31 04:02发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的所有人,我们有一个要求,即...

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

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


亲爱的所有人,
我们有一个要求,即通过在URL中传递昨天的日期来轮询WebService的数据!
示例URL为: https://? date_req = {incrementalToken} 。 我们简单地将初始值保留为增量标记值中的先前日期,并且效果很好。 现在,我们还有一个附加要求,我们需要处理任何维护时间段的情况,在此期间,通信通道将停止并在计划的日期之后启动。
我们面临的挑战是,何时再次使用通道 开始 频道应该以增量令牌而不是初始值再次获取昨天的日期值(开始频道的日期)!
非常感谢您对同一日期的支持!

2条回答
亦是此间程序员
2020-08-31 04:49 .采纳回答

嗨Ashutosh,

我们面临着完全相同的问题,当通道重新启动时,增量令牌值将在REST发送方轮询通道中重置为初始值。 我们制造了事件,并与SAP进行了长达数月的争论,最终改变了我们的设计:)

根据SAP,REST Polling Sender通道的正常行为是删除"上次时间戳记"的保存值 每当通道停止或重新启动时,都呼叫""。 当前,增量ID/时间戳存储到ID映射表(XI_AFW_SVC_ID_MAP)中,并保持有效,直到具有24h有效性值的值为止。 在重新启动服务器时,会从通道启动/停止的上表中清除增量ID。 这是由SAP进行的,目的是确保在通道配置发生更改的情况下,不考虑旧值。

例如,如果我们要轮询具有不同日期的URL,我们 调整通道中的初始值,然后重新启动以使更改生效。

我们后来问SAP,是否有任何方法可以检查上次轮询的URL(可能在动态配置参数中,就像我们轮询文件名的方式一样)

不幸的是,SAP回答说到目前为止还没有这样的功能,他们可以考虑将其用于开发中。 下一个SP版本。 我们不确定要花多长时间并结束更改设计而不是等待SAP。 这是一个很长的故事,但总之,我可以建议您使用以下2个选项。


选项1:在系统关闭之前停止REST发送方通道。 系统启动后,在启动频道之前,请将日期调整为当前日期/所需日期,然后启动。 这在每次维护期间都需要人工支持,并且仅在计划内停机的情况下适用。 如果是计划外中断,您将最终轮询日期不正确的数据。


选项2:使用虚拟发送方更改设计。 例如,我们添加了虚拟JDBC发送器,并根据所需的频率对其进行了调度。 然后,在消息映射中,创建带有所需日期的轮询URL并执行查找。


请参阅SAP注释#2352872。此外,请参阅其他专家建议的替代方案或与SAP取得联系。

-Priyanka

一周热门 更多>