是否有通过环回以编程方式执行 'lb soap' 的等效方法?
Is there an equivalent way of doing 'lb soap' programmatically with loopback?
根据 documentation 环回,lb soap
创建了基于 soap 的数据源的基础模型。有没有一种编程方式来做到这一点?我想以编程方式执行此操作,以通过动态创建的模型和数据源促进动态 soap 消耗。
免责声明:我是 LoopBack 的合著者和维护者。
这是执行命令lb soap
:
的源代码
这是生成模型定义和方法源代码的代码:
exports.generateAPICode = function generateAPICode(selectedDS, operationNames) { // eslint-disable-line max-len
var apis = [];
var apiData = {
'datasource': selectedDS,
'wsdl': selectedWsdl,
'wsdlUrl': selectedWsdlUrl,
'service': selectedService.$name,
'binding': selectedBinding.$name,
'operations': getSelectedOperations(selectedBinding, operationNames),
};
var code = soapGenerator.generateRemoteMethods(apiData);
var models = soapGenerator.generateModels(apiData.wsdl, apiData.operations);
var api = {
code: code,
models: models,
};
apis.push(api);
return apis;
};
如您所见,大部分工作委托给 soapGenerator
,它指的是 loopback-soap - 一个由 LoopBack 团队维护的较低级别的模块。在您的应用程序中,您可以直接使用 loopback-soap
(无需依赖我们的 CLI 工具)并调用其 API 来生成与 SOAP 相关的模型。
不幸的是,我们没有太多关于 loopback-soap
的文档,因为到目前为止它主要是一个内部模块。您必须阅读源代码才能更好地理解。如果您这样做,那么我们很乐意接受为未来用户改进文档的贡献。
根据 documentation 环回,lb soap
创建了基于 soap 的数据源的基础模型。有没有一种编程方式来做到这一点?我想以编程方式执行此操作,以通过动态创建的模型和数据源促进动态 soap 消耗。
免责声明:我是 LoopBack 的合著者和维护者。
这是执行命令lb soap
:
这是生成模型定义和方法源代码的代码:
exports.generateAPICode = function generateAPICode(selectedDS, operationNames) { // eslint-disable-line max-len
var apis = [];
var apiData = {
'datasource': selectedDS,
'wsdl': selectedWsdl,
'wsdlUrl': selectedWsdlUrl,
'service': selectedService.$name,
'binding': selectedBinding.$name,
'operations': getSelectedOperations(selectedBinding, operationNames),
};
var code = soapGenerator.generateRemoteMethods(apiData);
var models = soapGenerator.generateModels(apiData.wsdl, apiData.operations);
var api = {
code: code,
models: models,
};
apis.push(api);
return apis;
};
如您所见,大部分工作委托给 soapGenerator
,它指的是 loopback-soap - 一个由 LoopBack 团队维护的较低级别的模块。在您的应用程序中,您可以直接使用 loopback-soap
(无需依赖我们的 CLI 工具)并调用其 API 来生成与 SOAP 相关的模型。
不幸的是,我们没有太多关于 loopback-soap
的文档,因为到目前为止它主要是一个内部模块。您必须阅读源代码才能更好地理解。如果您这样做,那么我们很乐意接受为未来用户改进文档的贡献。