我正在尝试使用API将库存商品插入Acumatica,但出现400错误-错误的请求。我正在使用HttpClient登录,检索库存项目并发送插入请求。除插入请求外,其他所有功能都在工作。我尝试了以下网址(包括扩展参数):
http://localhost/AcumaticaERP/entity/Default/6.00.001/StockItem?$ expand =属性,交叉引用,UOM转换,供应商详细信息,仓库详细信息
...以及以下网址(不带expand参数)
http://localhost/AcumaticaERP/entity/Default/6.00.001/StockItem
我通过HttpClient PutAsync调用,传入了上述URL,数据是使用API检索的库存商品的JSON,并且当前数据库中不存在。
gue
有什么想法我想念的吗?
新细节: 经过Postman的进一步调试和测试后,PUT中的错误似乎是“从JsonReader读取JObject时出错。当前JsonReader项不是对象:StartArray。Path”,第1行,位置1。” JSON是直接从GET获取的,因此我不确定问题可能出在哪里。下面是从PUT返回错误的JSON。
rigth
我还尝试了删除JSON周围的括号,然后错误是: “没有实体满足条件。”。问题可能是id具有GUID,但是我正在尝试插入吗?您如何指示应该插入PUT?
答案 0 :(得分:1)
我终于把PUT插入了。最终有效的方法是删除整个JSON的包装花括号“ [”和“]”;以及删除我JSON中的所有“ id”,“ rowNumber”,“ custom”和“ files”字段以及所有空集合(例如,Attributes,CrossReferences)。我不确定要删除其中的哪一个可以解决问题,并允许我插入,但最终还是可以。
很遗憾,通过GET检索的JSON不能通过PUT插入,除非先去除所有这些。真痛苦。