为什么将WSDL文件传递到soap服务器?

时间:2018-07-23 04:00:24

标签: node.js soap wsdl

我了解了一些WSDL here。我也知道SOAP是什么。

但是here,在创建nodejs soap服务器时,它们将WSDL文件传递给soap服务器。我的问题是为什么他们要这样做?目的是什么?我以为WSDL只是一个项目规范(描述了Web服务集),为什么将它传递给真实的服务器?

var soap = require('..').soap;
var WSDL = soap.WSDL;
var path = require('path');

// Pass in WSDL options if any

var options = {};
WSDL.open('./wsdls/stockquote.wsdl',options,
  function(err, wsdl) {
    // You should be able to get to any information of this WSDL from this object. Traverse
    // the WSDL tree to get  bindings, operations, services, portTypes, messages,
    // parts, and XSD elements/Attributes.

    var getQuoteOp = wsdl.definitions.bindings.StockQuoteSoap.operations.GetQuote;
    // print operation name
    console.log(getQuoteOp.$name);
    var service = wsdl.definitions.services['StockQuote'];
    //print service name
    console.log(service.$name);
});

1 个答案:

答案 0 :(得分:1)

WSDL文档不仅仅是项目规范。它类似于OOP世界中的接口。该合同将向您的服务的消费者/用户告知以下信息:

  1. 该服务的住所。
  2. 此服务提供哪些操作
  3. 此服务使用的消息看起来像数据结构。

一旦您对此进行了编码,便会发布此合同,以便使用该服务的客户可以使用该合同来生成客户代码。这是我们发布WSDL的主要原因。