Odata Adapter SCPI到Commerce Cloud中的PATCH方法

2020-08-22 03:56发布

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

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


早上好,

我们目前无法实现以下方案。

我们正在从系统A接收产品和捆绑包数据,并将其预订在Hybris Commerce Cloud实例B中。

我们正在使用入站对象:InboundProduct和InboundBundleTemplate。

我们想使用PATCH方法,以便可以正确处理更改的值。 我们正在使用以下SCPI iFlow来做到这一点。

我们当前面临的问题是:

1)PATCH方法提供的模型操作不同(可用字段与POST方法相同)

这将创建一个仅包含少数字段的新XSD,这不是所需的选项

2),即使我们仅使用上述字段并将其映射并使用目标URL将其发送到商务

https://myserver/odata2webservices/InboundProduct/Products('Staged%7CdcpProductCatalog%7Cdisplay-ff8c7434-fdb6-409b-bfb3-90a67cd21785_live_v1')修改产品display-ff8c7434-fdb6-409b-bfb3-90a67cd21785_live 正在获取404:HTTP/1.1

当查看跟踪时,我看到请求URI的字符串" $ metadata HTTP/1.1"被添加到URL和GET中,而不是我期望的PATCH。

3)如果我们复制POST的oData Adapter配置并使用PATCH方法,则根本不调用适配器

有人在Cloud Commerce上下文中使用PATCH有任何经验吗?

一个快速提示非常值得赞赏。

最好的问候

穆斯塔法

(451.2 kB)

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

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


早上好,

我们目前无法实现以下方案。

我们正在从系统A接收产品和捆绑包数据,并将其预订在Hybris Commerce Cloud实例B中。

我们正在使用入站对象:InboundProduct和InboundBundleTemplate。

我们想使用PATCH方法,以便可以正确处理更改的值。 我们正在使用以下SCPI iFlow来做到这一点。

我们当前面临的问题是:

1)PATCH方法提供的模型操作不同(可用字段与POST方法相同)

这将创建一个仅包含少数字段的新XSD,这不是所需的选项

2),即使我们仅使用上述字段并将其映射并使用目标URL将其发送到商务

https://myserver/odata2webservices/InboundProduct/Products('Staged%7CdcpProductCatalog%7Cdisplay-ff8c7434-fdb6-409b-bfb3-90a67cd21785_live_v1')修改产品display-ff8c7434-fdb6-409b-bfb3-90a67cd21785_live 正在获取404:HTTP/1.1

当查看跟踪时,我看到请求URI的字符串" $ metadata HTTP/1.1"被添加到URL和GET中,而不是我期望的PATCH。

3)如果我们复制POST的oData Adapter配置并使用PATCH方法,则根本不调用适配器

有人在Cloud Commerce上下文中使用PATCH有任何经验吗?

一个快速提示非常值得赞赏。

最好的问候

穆斯塔法

(451.2 kB)
付费偷看设置
发送
3条回答
N-Moskvin
1楼-- · 2020-08-22 04:55

嗨,穆斯蒂,

问题的答案

1。 PATCH方法提供的模型操作不同(可用字段与POST方法相同)

回答:PATCH仅在单个有效实体上可能。 您不能有用于更新操作的子实体。 请向邮递员检查带子实体的PATCH是否可用于您的OData服务。

您看到的跟踪是部分跟踪。 您必须单击右上角的下一个链接才能查看所有HTTP调用。
要了解OData接收器跟踪,请参阅KBA 2852998 参考点4。

关于
Saranya

clever101
2楼-- · 2020-08-22 04:46

嗨,穆斯蒂,

由于以下链接中提到的原因,AFAIK OData v2不支持深度更新
https://social.msdn.microsoft.com/Forums/en-US/1c8f2995-f8a9-4488-83d9-218681be0dc2/是否不支持深度合并或补丁操作?forum = adodotnetdataservices
例如,对于"关键字",假设添加了2个新关键字,并删除了3个旧关键字->您如何表示将要添加和删除的关键字?

我还没有遇到任何支持深度更新的OData端点。 通过尝试从Postman客户端进行深度更新来检查OData端点是否支持它。

clever101
3楼-- · 2020-08-22 04:45

嗨Saranya,

感谢您的答复。 实际上,最主要的担心是,我们正在一条消息中获得所有更改,如下所示:

我们是否应该在SCPI中进行增量处理? 根据您的回答,我们需要对每个对象执行PATCH操作。 在我看来,这很奇怪,在这种情况下,操作完全没有意义。

关于跟踪,众所周知如何跟踪。 问题是系统没有显示任何可执行步骤,这意味着没有可用的跟踪。 我们可以在跟踪模式下浏览iFlows,并向您显示您随时可以得到什么。

最好的问候

Musti

一周热门 更多>