我正在开发Sage SData集成。不幸的是,将数据发送到服务器存在问题。我能够检索数据并删除合同,但是当我通过POST
添加新合同或通过PUT
更新时,它会出错:
错误ApplicationDiagnosis Index超出范围。必须是非负数且小于集合的大小。参数名称:index System.ArgumentOutOfRangeException:索引超出范围。必须是非负数且小于集合的大小
是否有人有PHP或JSON添加新合同的例子?
答案 0 :(得分:2)
你有一个你试图去的终点的例子吗?
我的猜测是你试图访问一个没有返回任何内容的端点,web服务器仍然试图为你提供原子提供但是失败了。在使用SData时,我已经多次这样做,直到找到了我想要使用的资源种类的正确端点。
一些提示
SData URL采用以下形式;
<protocol>://<hostname>:<port>/sdata/<application>/<contract>/<resourcekind>?<queryparameters>
一些有用的系统网址可以帮助您更轻松地发现已注册的端点;
<protocol>://<hostname>:<port>/sdata/$system
(列出所有系统端点)<protocol>://<hostname>:<port>/sdata/$system/adapters
(列出已安装的适配器)<protocol>://<hostname>:<port>/sdata/$system/registry/endpoints
(已注册终端列表)您可以通过以下资源更方便地获得帮助;
http://sdata.sage.com/(Sage SData Portal)
http://sage.github.io/SData-2.0/pages/core/0100/(Sage SData核心规范1.1)
http://sdata.sage.com/SDataForum/(Sage SData论坛 - 有用的资源)(遗憾的是论坛已经停止)