Почему действие Acumatica API правильно работает в Postman, но не работает в .NET (хотя оно сообщает об успехе)? - PullRequest
0 голосов
/ 30 мая 2019

Я звоню в конечную точку Отправка / Подтверждение отгрузки, и она возвращает успех как в .NET, так и в Почтальоне, но при использовании Почтальона пересылка фактически подтверждается, а в .NET - нет.

В Почтальоне, Я делаю POST с телом, содержащим JSON для номера отгрузки:

{"entity":{"ShipmentNbr":{"value":"022025"}}}

В .NET я делаю HttpClient.PostAsync () для того же URL и с тем же JSON, что ивыше.Они оба возвращают успех с 202 принятым ответомОднако, как я уже упоминал, вызов Почтальона подтверждает отправку (Подтверждение = 1, Статус = F), но в .NET POST фактически не подтверждает отправку.Есть идеи, что может этому помешать?

API v17.200.001

1 Ответ

1 голос
/ 30 мая 2019

Статус 202 Принято может быть немного запутанным, но это не означает, что действие завершено успешно.

Это означает только то, что запрос на выполнение действителен и принят системой.

Если вы хотите отслеживать состояние самого действия, вам нужно будет использовать адрес, указанный в заголовке ответа 202 Accepted (заголовок Location)

Таким образом, в следующем примере вы можете видеть, что мое действие было принято и что, когда я запрашиваю статус операции, я получаю 204 Нет контента, который является ответом на Успех.

Здесь я запросил выполнение действия «Подтвердить отгрузку», и оно было принято, и я вижу URL-адрес, по которому я могу получить статус действия

enter image description here

Здесь я запросил статус действия и вижу успешный результат. enter image description here

Подробнее о выполнении действия через API REST можно узнать здесь.

Я рекомендую взглянуть на раздел ответов.

  • * ** 1027 тысяча двадцать-шесть * -2017r2.acumatica.com / (W (1)) / Главная? ScreenId = ShowWiki & PageId = 91bf9106-062a-47a8-be1f-b48517a54324 * +1028 *

Вот дополнительная информация о HTTP-ответе 202 и 204:

...