microsoft-dynamics - 使用 Business Central Web 服务/api 接收非结构化数据?
问题描述
我想在 Business Central 中公开一个端点,该端点可以接收 HTTP POST/PUT 请求并将该请求的内容保存到 Blob 中,而无需任何验证。我需要它,以便我可以从外部自定义服务接收 json 或 xml 数据。
我不确定如何实现这一点,因为 OData 和 SOAP 都希望数据采用特定格式并在我什至可以访问 POST ed 数据之前触发数据验证。
我一直在尝试使用 Bound/Unbound 操作,但仍然无法找到访问请求内容的方法。WebServiceActionContext 没有很好的文档记录,我不知道我能用它做什么或不能做什么。更多相关信息:Microsoft 文档、教程。
任何想法如何读取 HTTP POST/PUT 请求的内容都值得赞赏!
解决方案
您可以使用全局过程创建一个代码单元,然后将其发布为您的 Web 服务。
像这样的东西:
codeunit 50000 MyUnstructuredWebService
{
procedure PostUnstructuredData(RequestId: Text; RequestContent: BigText);
begin
end;
}
然后您可以直接处理数据或将其保存到表中的 BLOB 字段以供以后使用。
诀窍是使用 BigText 作为包含实际内容的参数的数据类型。
推荐阅读
- javascript - 如何在 React (async/await) 中创建一个原子进程?
- zsh - zsh:如何使用 $+commands 测试 zsh 上是否存在两个程序
- python - 如果差异为负,熊猫系列添加上一行
- javascript - 轻松限制一个承诺返回方法
- wordpress - 启用 NGINX 后,WordPress 博客子目录中的所有帖子都给出 404 Page Not Found
- laravel - vue.js如何在单个axios中调用多个url数据
- mongodb - 如何使用 rust mongodb 驱动程序在 mongodb 中执行 bulkWrite?
- python - Python 2.6 在解析整个脚本之前不会抛出断言错误
- django - 视图课程.views.login 没有返回 HttpResponse 对象。它返回 None 而不是
- unity3d - 使用 LeanTween 游戏对象旋转不超过 360°