Node.js 简单soap调用失败(Nodejs、easysoap)
我在easysoap()方面遇到了一些问题,我找不到太多文档或有人在谈论它,因此我希望你们中的一些人能够提供帮助: 我打了一个简单的电话如下:Node.js 简单soap调用失败(Nodejs、easysoap),node.js,soap,soap-client,Node.js,Soap,Soap Client,我在easysoap()方面遇到了一些问题,我找不到太多文档或有人在谈论它,因此我希望你们中的一些人能够提供帮助: 我打了一个简单的电话如下: var clientParams = { host : 'somewhere.com', port : '9001', path : '/somews.
var clientParams = {
host : 'somewhere.com',
port : '9001',
path : '/somews.asmx',
wsdl : '/somews.asmx?WSDL'
};
var clientOptions = {
secure : false
};
//create new soap client
var SoapClient = new soap.Client(clientParams, clientOptions);
SoapClient.once('initialized', function() {
//successful initialized
SoapClient.once('soapMethod', function(data, header) {
});
console.log('call');
SoapClient.call({
'method' : 'Execute',
'params' : {
'ExecuteXML' : 1
}}, function(attrs, err, responseArray, header){
}
);
});
//initialize soap client
SoapClient.init();
问题是,我收到一个回复,说我无权提出请求。但是,如果我在浏览器中手动尝试相同的url,它确实有效
你知道我做错了什么吗
非常感谢
如果你们中的任何人知道任何其他节点模块实现这一点,请让我知道。我试图使用节点soap,但在所有必需的依赖项中迷失了方向:python、Visual Studio。。。您真的需要所有这些来对服务器进行几次soap调用
感谢其他nodejs soap模块。我目前使用的是节点soap,对此我很满意。你可以找到这个项目 下面是我如何使用它的一个例子
var soap = require('soap');
//example url
var url = 'http://ws.strikeiron.com/GlobalAddressVerification5?WSDL';
var soapHeader = ''//xml string for header
soap.createClient(url, function(err, client){
client.addSoapHeader(soapHeader);
var args = {
StreetAddressLines: "5322 Otter Lane",
CountrySpecificLocalityLine: "Middleberge FL 32068",
Country: "USA"
};
client.BasicVerify(args, function(err, result){
if(err){
throw err;
}
console.log(result);
});
});
对我来说,这很有效:
"use strict";
var easysoap = require('easysoap');
var clientParams = {
host : 'http://somewhere.com:9001',
path : '/somews.asmx',
wsdl : '/somews.asmx?WSDL'
};
var clientOptions = {
secure : false
};
var soapClient = easysoap.createClient(clientParams, clientOptions);
soapClient.call({'method' : 'Execute',
'params' : {
'ExecuteXML' : 1
}})
.then(function (callResponse) {
console.log(callResponse);
})
.catch(function (err) {
console.log("Got an error making SOAP call: ", err);
});