首页 > 解决方案 > 使用 Business Central Web 服务/api 接收非结构化数据?

问题描述

我想在 Business Central 中公开一个端点,该端点可以接收 HTTP POST/PUT 请求并将该请求的内容保存到 Blob 中,而无需任何验证。我需要它,以便我可以从外部自定义服务接收 json 或 xml 数据。

我不确定如何实现这一点,因为 OData 和 SOAP 都希望数据采用特定格式并在我什至可以访问 POST ed 数据之前触发数据验证。

我一直在尝试使用 Bound/Unbound 操作,但仍然无法找到访问请求内容的方法。WebServiceActionContext 没有很好的文档记录,我不知道我能用它做什么或不能做什么。更多相关信息:Microsoft 文档教程

任何想法如何读取 HTTP POST/PUT 请求的内容都值得赞赏!

标签: microsoft-dynamicsdynamics-business-central

解决方案


您可以使用全局过程创建一个代码单元,然后将其发布为您的 Web 服务。

像这样的东西:

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

    end;
}

然后您可以直接处理数据或将其保存到表中的 BLOB 字段以供以后使用。

诀窍是使用 BigText 作为包含实际内容的参数的数据类型。


推荐阅读