为什么Acumatica API操作在Postman中可以正常工作,但在.NET中却不能正常工作(尽管它报告了成功)?

为什么Acumatica API操作在Postman中可以正常工作,但在.NET中却不能正常工作(尽管它报告了成功)?,acumatica,Acumatica,我正在调用Shipping/ConfirmShipping端点,它在.NET和Postman中都返回成功,但是使用Postman,装运实际上得到了确认,而在.NET中则没有 在《邮递员》中,我用包含装运编号JSON的正文发布了一篇文章: {"entity":{"ShipmentNbr":{"value":"022025"}}} 在.NET中,我使用与上面相同的JSON对同一URL执行HttpClient.PostAsync()。他们都返回了成功的回答。然而,正如我提到的,邮递员呼叫确认了发货(

我正在调用Shipping/ConfirmShipping端点,它在.NET和Postman中都返回成功,但是使用Postman,装运实际上得到了确认,而在.NET中则没有

在《邮递员》中,我用包含装运编号JSON的正文发布了一篇文章:

{"entity":{"ShipmentNbr":{"value":"022025"}}}
在.NET中,我使用与上面相同的JSON对同一URL执行HttpClient.PostAsync()。他们都返回了成功的回答。然而,正如我提到的,邮递员呼叫确认了发货(Confirm=1,Status=F),但是在.NET中,POST实际上并没有确认发货。你知道是什么阻止了它吗


API v17.200.001

接受状态202可能有点混乱,但这并不意味着操作已成功完成

这只意味着执行请求有效并且已被系统接受

如果要监视操作本身的状态,则需要使用202接受响应的标头(位置标头)中给出的地址

因此,在下面的示例中,您可以看到我的操作已被接受,并且当我请求操作的状态时,我将获得204 No Content,这是成功响应

在这里,我已请求执行确认装运操作,该操作已被接受,我可以看到可以获取操作状态的url

在这里,我已经请求了行动的状态,并且可以看到成功的结果

您可以在这里找到有关通过RESTAPI执行操作的更多信息

我建议看一下回复部分

以下是关于202和204 http响应的更多信息:


我建议使用Fiddler查看机器和Acumatica之间的流量。您可能会发现.NET和Postman.Gabriel之间的HTTP调用存在细微差异,这听起来是个好主意,但当我这样做时,Fiddler不会为我的.NET帖子显示任何内容。除非有办法将其配置为这样做?我确实发现有办法将Fiddler配置为查看HttpClient调用,但是我决定不再继续,因为我发现这个问题与此无关。如果你发现了答案,请创建一个简短的答案并接受它,这样如果其他人遇到类似的问题,他们也可以从这个问题中受益。谢谢你提供了所有这些信息,但是HttpResponseMessage.IsSuccessStatusCode也返回true。我也尝试了你的建议,但也取得了成功。在进一步调试之后,我发现这个问题实际上与时间问题有关,而不是与.NET代码中的实际API调用有关。解决该问题后,API调用开始工作。