我需要一些关于如何使用Acumatica REST API(v17.204.0019)使HttpClient DeleteAsync工作的建议。我已经使用GetAsync成功完成了GET,但是同一数据行的DeleteAsync的DELETE返回500错误。我在GET和DELETE调用中使用相同的URL -
https://localhost/AcuAmazon172040019/entity/Default/17.200.001/SalesOrder/SO/001337
但GET返回预期的json,DELETE抛出500. GetAsync调用如下所示:
Response = HttpClient.GetAsync(url).Result.EnsureSuccessStatusCode();
并且DeleteAsync调用如下所示:
Response = HttpClient.DeleteAsync(url).Result.EnsureSuccessStatusCode();
其中Response是HttpResponseMessage属性,HttpClient是HttpClient属性。
答案 0 :(得分:0)
我终于让它为我工作了。 500错误是一个红色的鲱鱼。正如我在上面的评论中提到的那样,我一直在使用的订单是已完成,所以它抛出500,但是有一条消息"删除按钮被禁用",这意味着订单无法' ;根据Acumatica应用规则删除。然后我尝试了我认为是一个开放的订单#,它也抛出了500和一条消息,没有实体满足条件",这意味着订单无法找到。事实证明,由于某种原因,我正在使用的SalesDemo数据中的未结订单实际上具有" SO"前缀,所以不仅仅是" 004108",而且" SO004108"。一旦我加入了#34; SO"前缀,顺序删除成功。成功的网址实际上是这样的:
http://localhost/AcuAmazon172040019/entity/Default/17.200.001/SalesOrder/SO/SO004108