但是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);
});
答案 0 :(得分:1)
WSDL文档不仅仅是项目规范。它类似于OOP世界中的接口。该合同将向您的服务的消费者/用户告知以下信息:
一旦您对此进行了编码,便会发布此合同,以便使用该服务的客户可以使用该合同来生成客户代码。这是我们发布WSDL的主要原因。