Получение неструктурированных данных с помощью веб-службы Business Central / API? - PullRequest
0 голосов
/ 03 апреля 2020

Я хочу предоставить конечную точку в Business Central, которая может получать HTTP-запросы POST / PUT и сохранять содержимое этого запроса в Blob без какой-либо проверки. Мне это нужно, чтобы я мог получать json или xml данные из внешних пользовательских служб.

Я не уверен, как этого добиться, поскольку и OData, и SOAP ожидают, что данные будут в указанных c форматировать и запускать проверку данных, прежде чем я смогу получить доступ к данным POST.

Я пытался поиграть с привязанными / несвязанными действиями, но все еще не могу найти способ получить доступ к содержанию запроса , WebServiceActionContext плохо документирован, и я не представляю, что я могу или не могу с этим сделать. Подробнее об этом: Документация Microsoft , Учебное пособие .

Любая идея чтения содержимого запроса HTTP POST / PUT приветствуется!

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете создать кодовый блок с глобальной процедурой, а затем опубликовать sh это как ваш веб-сервис.

Что-то вроде этого:

codeunit 50000 MyUnstructuredWebService
{
    procedure PostUnstructuredData(RequestId: Text; RequestContent: BigText);
    begin

    end;
}

Затем вы можете обрабатывать данные напрямую или сохраните его в поле BLOB в таблице для последующего использования.

Хитрость заключается в том, чтобы использовать BigText в качестве типа данных для параметра, содержащего фактическое содержимое.

...