TypeError:无法读取Nodejs

时间:2018-02-08 15:17:20

标签: javascript node.js soap

我刚刚开始学习带有Node.Out的soap客户端的可用软件包,我决定使用easy-soap npm package here来在Nodejs中进行soap调用。

首次尝试以错误结束。我在这做错了什么? 如何从这里开始。有人能说清楚这个吗?

(function() {

    "use strict";

        var easysoap = require('easysoap');

// ##define soap params

      var params = {
                host   : '190.100.00.00',
                path   : '/webservices/angular2/',
                wsdl   : '/webservices/angular2/php-server.wsdl',

                // set soap headers (optional)
                headers: [{
            'name'     : 'item_name',
            'value'    : 'item_value',
            'namespace': 'item_namespace'
        }]
    }


//  ##create the client


  var soapClient = easysoap.createClient(params);



// ##get all available functions

                soapClient.getAllFunctions()
                .then((functionArray) => { console.log(functionArray); })
                        .catch((err) => { console.error(err); });


}

 **ERROR:**
 TypeError: Cannot read property 'indexOf' of undefined
at doGetRequest.then (/home/user/test/node_modules/wsdlrdr/src/index.js:326:41)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)

2 个答案:

答案 0 :(得分:1)

而不是.catch((err) => { throw new Error(err); });

执行.catch(err => console.error(err); ),它可以检查堆栈跟踪并查看错误来自哪一行。

如果是图书馆问题,请在Recognize the characters of license plate上提交新问题。

另请删除Typescript标签。

答案 1 :(得分:0)

在可用的软件包中,最好使用strong-soap here并且不再有任何错误。

"use strict";

var soap = require('strong-soap').soap;

var url = 'http://192.100.00.000/webservices/angular2/php-server.wsdl';

var requestArgs = {
symbol: 'IBM'
};

var options = {};

soap.createClient(url, options, function(err, client) {

var method = client['check_username'];

method(requestArgs, function(err, result, envelope, soapHeader) {

console.log('Response Envelope: \n' + envelope);
console.log('Result: \n' + JSON.stringify(result));

});
})