【问题标题】:XSODATA service doesn't support merge operation?XSODATA 服务不支持合并操作?
【发布时间】:2016-03-25 20:32:35
【问题描述】:

我正在使用 SAP HANA xsodata 服务在 HANA 表上创建 ODATA 服务,该服务运行良好。

在 sap.ui.model.odata.ODataModel 上使用更新参数更新模型工作正常

代码:

 oModel.update(sUrl, oEntry, {
        success : //do something ,
        error : //do something
    });

现在我想在更新时使用 MERGE 代替 PUT,遵循 the documentation

我的代码:

oModel.update(sUrl, oEntry, {
        merge: true,
        success : //do something ,
        error : //do something
    });

由于仅支持 Get、Post、Put 和 Delete,因此会引发错误。

那么,我的问题是,XSODATA 服务是否不支持 MERGE?

如果它支持 MERGE,我的代码有什么问题?

错误 - 出现以下问题:HTTP 请求失败 405,方法不允许,{“错误”:{“代码”:“”,“消息”:{“语言”:“en-US”,“值”: "HTTP 方法无效。只允许使用 GET、POST、PUT、DEL 方法。"}}}

【问题讨论】:

  • 这个问题不用删。未来的访客可能会对它感兴趣。请在问题中添加逐字错误消息。有一些嫌疑,但我只能从错误信息中验证...
  • @flaschbier 我添加了与您要求的完全相同的错误代码。请帮忙
  • 见下面的答案。非常抱歉,我没有更好的消息告诉你。
  • 是的,明白了。感谢回复

标签: odata sapui5 hana


【解决方案1】:

看起来XS服务器只支持以下HTTP方法:GETHEADPOSTOPTIONSPUTDELETETRACECONNECT。要查看此内容,请访问

https://<your.server:port>/sap/hana/xs/admin/#/package/<your.package.in.dot.notation>

导航到包含您的 ODATA 服务 .xsodata 文件的包,不要深入,而是单击名称,选择选项卡“CORS”并转到 [编辑]。在页面下方,您会看到可以允许哪些方法。

docs,所有docs,有点模糊,但这是列表。

允许默认设置为GETHEADPOSTOPTIONS,这符合您的错误消息。遵循该选项卡中的设置,因为当我尝试PUTonce 时,我不得不学习艰难的方法。

因此我们可以得出结论,有趣的是,UI5 docs 宣传了 XS 服务器不支持的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 2018-09-11
    • 1970-01-01
    相关资源
    最近更新 更多