有没有一种等效的方式可以通过环回以编程方式执行“磅肥皂”操作?

时间:2018-10-09 14:52:29

标签: loopbackjs strong-soap

根据documentation的环回,lb soap创建基于基础soap的数据源模型。有编程的方式可以做到这一点吗?我想以编程方式进行此操作,以通过动态创建的模型和数据源促进动态肥皂消耗。

1 个答案:

答案 0 :(得分:1)

免责声明:我是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的文档很少,因为到目前为止它主要是一个内部模块。您将必须阅读源代码以更好地理解。如果您这样做,那么我们很乐意接受为将来的用户改进文档的文稿。