Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SAP HANA XS引擎Odata服务不支持';t让我创建/更新/删除_Odata_Hana_Hana Xs - Fatal编程技术网

SAP HANA XS引擎Odata服务不支持';t让我创建/更新/删除

SAP HANA XS引擎Odata服务不支持';t让我创建/更新/删除,odata,hana,hana-xs,Odata,Hana,Hana Xs,我有一个SAP HANA XS服务器,带有一些DB表和一个OData服务。我能够连接到OData服务并读取数据。当我试图创建/更新/删除数据时,我得到了403-禁止错误。 实际上,我的用户拥有执行上述所有操作所需的权限(我在HANA Studio中使用SQL命令行创建了数据)。当我对系统用户进行相同的尝试时,我得到了相同的结果。我猜您的OData服务被定义为不允许修改数据 从: 默认情况下,OData服务中的所有实体集和关联都是可写的,也就是说,它们可以通过创建、更新或删除请求进行修改。但是,您

我有一个SAP HANA XS服务器,带有一些DB表和一个OData服务。我能够连接到OData服务并读取数据。当我试图创建/更新/删除数据时,我得到了
403-禁止
错误。

实际上,我的用户拥有执行上述所有操作所需的权限(我在HANA Studio中使用SQL命令行创建了数据)。当我对系统用户进行相同的尝试时,我得到了相同的结果。

我猜您的OData服务被定义为不允许修改数据

从:

默认情况下,OData服务中的所有实体集和关联都是可写的,也就是说,它们可以通过创建、更新或删除请求进行修改。但是,您可以通过在OData服务定义中使用
禁止
选项设置适当的关键字(创建、更新或删除)来阻止修改请求的执行。以下SAP HANA XS的OData服务定义示例显示了如何防止OData服务公开的表
myTable
的任何修改。任何使用创建、更新或删除请求对指示表进行修改的尝试都会导致HTTP响应状态
403禁止


如果.xsaccess文件如下所示:

{
    "prevent_xsrf": true,
    ...
} 
在修改实体之前,必须获取XSRF令牌。读取实体的工作不需要任何限制

这样的令牌可以通过执行到服务端点的GET来获得,其头部为
X-CSRF-token=Fetch
。响应包含如下标题
X-CSRF-Token=13DC4988AEAA95…
。如果您现在使用刚获得的令牌执行您的POST,例如POST,它将起作用

{
    "prevent_xsrf": true,
    ...
}