0

我正在研究 Sage SData 集成。不幸的是,向服务器发送数据时出现了问题。我能够检索数据并删除合同,但是当我通过添加新合同POST或通过更新时PUT,它会给出一个错误:

错误 ApplicationDiagnosis Index 超出范围。必须是非负数且小于集合的大小。参数名称:索引 System.ArgumentOutOfRangeException:索引超出范围。必须是非负数且小于集合的大小

有人有添加新合同的 PHP 或 JSON 示例吗?

4

1 回答 1

2

你有一个你试图到达的端点的例子吗?

我的猜测是您尝试访问不返回任何内容的端点,Web 服务器仍尝试为您提供 atom 提要但失败。在使用 SData 时,我已经多次遇到这种情况,直到找到我想要使用的资源种类的正确端点。

几个小贴士

SData URL 采用以下形式;

<protocol>://<hostname>:<port>/sdata/<application>/<contract>/<resourcekind>?<queryparameters>

几个有用的系统 url,可以帮助您更轻松地发现已注册的端点;

  • <protocol>://<hostname>:<port>/sdata/$system(列出所有系统端点)
  • <protocol>://<hostname>:<port>/sdata/$system/adapters(列出已安装的适配器)
  • <protocol>://<hostname>:<port>/sdata/$system/registry/endpoints(注册端点列表)

您可以从以下资源中更容易地获得帮助;

http://sdata.sage.com/ (Sage SData 门户)

http://sage.github.io/SData-2.0/pages/core/0100/(Sage SData核心规范1.1)

http://sdata.sage.com/SDataForum/(Sage SData 论坛 - 有用资源) (可惜论坛已经下架)

于 2013-04-24T14:42:27.490 回答