OData中的更新操作

2020-08-13 10:44发布

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

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


大家好,

我已经实现了UPDATE_ENTITY方法。 当我尝试在GW_CLIENT中进行测试时,收到消息"数据服务请求URI所标识的资源不允许使用指定的HTTP方法"。

我尝试使用PUT功能。 另外,我在EntitySet级别的复选框中标记了Createable和Updatable。

不确定丢失了什么。

此致

Salil

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

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


大家好,

我已经实现了UPDATE_ENTITY方法。 当我尝试在GW_CLIENT中进行测试时,收到消息"数据服务请求URI所标识的资源不允许使用指定的HTTP方法"。

我尝试使用PUT功能。 另外,我在EntitySet级别的复选框中标记了Createable和Updatable。

不确定丢失了什么。

此致

Salil

付费偷看设置
发送
4条回答
Tong__Ming
1楼-- · 2020-08-13 11:37

我假定您在PUT请求中使用了错误的URL,就像在下面的屏幕快照中一样。

选择了read方法后,相同的URL是否会返回实体?

要亲自尝试,您必须激活示例服务GWSAMPLE_BASIC并尝试在以下URL上进行PUT请求(带有有效负载)

/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/VH_CategorySet

,您将收到错误消息"数据服务请求URI所标识的资源不允许使用指定的HTTP方法"。

这是因为PUT必须更新 单一资源,而不是实体集。

如果您使用正确的有效负载和正确的URL

/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/VH_CategorySet('Accessories')

仍然会收到一条错误消息,提示您"方法'VH_CATEGORYSET_UPDATE_ENTITY'未在数据提供程序类中实现",因为无法更新值帮助。

但这就是错误 如果您的UPDATE_ENTITY方法w

hengyuye
2楼-- · 2020-08-13 11:36

嗨安德烈,

非常感谢您的回复。 看起来像我做到了。 我尚未实现GET ENTITY方法。 实施它之后,在测试过程中...我执行了GET函数。 将响应作为请求并执行了PUT函数并进行了一些更改,并且更新工作正常。 请让我知道这是否应该工作,因为我对UI(Fiori)如何致电我的服务以及他们将通过什么操作感到困惑。

这是我用于GET的有效负载,对于PUT保持不变。

/sap/opu/odata/sap/ZABC_PHASE_TEST_SRV/ET_PHASESET('P000130')

此致

Salil

黑丝骑士
3楼-- · 2020-08-13 11:37

使用PATCH怎么样?

代楠1984
4楼-- · 2020-08-13 11:33

您好,您收到错误消息是因为您没有在ODATA URL中传递密钥进行更新操作。 必须在ODATA URI中传递密钥以进行READ/UPDATE/DELETE操作。

UI应用程序将使用ODATA模型对象的更新方法,并以" PUT操作"的方式访问网关。

谢谢

Dhiraj M

一周热门 更多>