导出Acumatica数据而不调用API

导出Acumatica数据而不调用API,acumatica,Acumatica,我想从Acumatica实例导出一个库存项目作为数据契约,但不调用API。我不想调用API,因为我需要从实例内部而不是实例外部检索它。我认为我真正需要的是一种调用基于契约的代码以序列化为JSON的方法,但不使用URL。我想我可以在同一个实例中调用API,但看起来应该比这简单。严格地说,您希望进行API调用。专门使用“基于合同的API”,而不使用“web服务API”。这似乎违背了基于契约的API的设计目标 考虑以下陈述: 基于契约的API构建在web服务API提供的对象模型上。 资料来源: we

我想从Acumatica实例导出一个库存项目作为数据契约,但不调用API。我不想调用API,因为我需要从实例内部而不是实例外部检索它。我认为我真正需要的是一种调用基于契约的代码以序列化为JSON的方法,但不使用URL。我想我可以在同一个实例中调用API,但看起来应该比这简单。

严格地说,您希望进行API调用。专门使用“基于合同的API”,而不使用“web服务API”。这似乎违背了基于契约的API的设计目标

考虑以下陈述: 基于契约的API构建在web服务API提供的对象模型上。 资料来源:

web服务API提供了基于契约的API的对象模型。删除等式的web服务API,则基于契约的API缺少对象序列化所依赖的对象模型。实际上,这意味着处理基于契约的序列化的方法将需要web服务对象模型作为输入参数

我相信在不使用TCP-IP堆栈的情况下,会有一些技术障碍阻止web服务对象模型的实例化。这主要是因为基于契约的API的最初设计目标是通过web服务调用

这可以归结为Acumatica针对不同的上下文使用不同的对象模型。基于合同的使用“实体”模型,而定制使用“DAC”模型。查询API也有很大的不同。自定义使用BQL和基于合同的方法,并有其他方法

拥有统一的对象模型有明显的优势。只学一个比学两个容易。只使用JSON比混合和转换XML和JSON更容易。然而,每种模式也有各自的缺点。拥有不同的模型可以使用更适合手头任务的模型。对象模型的常见要求是性能、人类可读性、内存占用、易于机器解析等

也就是说,如果您只需要基于契约的API的对象模型,而不需要查询接口,那么您可以使用BQL并将DAC对象序列化为JSON来近似它。由于几乎所有DAC对象都具有C#Serializable属性,因此序列化使用BQL检索的DAC对象应该比使用数据契约API检索和序列化记录要容易得多,而无需经过TCP-IP堆栈。它还将与API的设计目标方向一致,即基于契约的API应用于通过webservice进行访问