如何从Hybris通过CronJob导出目录并通过分页导出到外部系统?

问题描述 投票:0回答:3

我是Hybris的新手。需要从Hybris导出完整/增量目录数据,并将Web服务发送到外部系统。目前,我已经创建了一个新的CronJob,它每天都会运行以执行此操作。请让我知道我们如何实现这一目标。

我已经提到了各种博客,但所有人都提到了FlexibleSearchQuery。是否有任何开箱即用的方法来实现该功能。

java sap hybris
3个回答
0
投票

hybris datahub具有SAP ERP的一些同步功能。也许你可以使用它。


0
投票

如果您的第三方系统可以从REST服务提取数据,则可以使用OCC GET /{baseSiteId}/export/products端点。

端点生成所有产品,或自timestamp以来更改的所有产品

完整的文档可以在这里找到:https://help.hybris.com/1808/api/ycommercewebservices/index.html#_exportproductsusingget


0
投票

从良好的解决方案架构角度出发,从根本上讲。我建议探索一个选项,该选项不要求Hybris通过服务调用将数据主动发送到第三方系统。 Hybris应该关注商业。除非您也将它用作PIM。

此外,您没有提到服务所期望的协议或有效负载类型。无论如何,假设您将为产品和产品介质提供包含CSV / XML的zip文件。我就是这样做的。

1)定义作业:您可以动态地在Groovy中编写Cronjonb(无需部署)和/或以标准方式在Java中编写(需要部署)。

2)获取数据和导出的逻辑使用FlexibleQuery从您需要的目录版本中获取产品,然后将批量压缩成zip文件(例如mediaService.setStreamForMedia(media,new ByteArrayInputStream(products.toByteArray()),“mystore- mycatalog-export.zip“,”application / zip“)。这会将文件写入zip并给你一个可以放入事件的URL,它可以触发另一个cronjob来实际进行服务调用并发送该文件。

3)写一个cleanupjob来摆脱已经发送的负载。由于大小的原因,您的磁盘将快速填充到系统失败的程度。

© www.soinside.com 2019 - 2024. All rights reserved.