5

easysoap ( https://npmjs.org/package/easysoap ) に問題があり、多くのドキュメントやそれについて話している人を見つけることができませんでした。

私はこのような簡単な呼び出しを行っています:

            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 を手動で試すと、http://somewhere.com:9001/somews.asmxは機能します。

私が間違っていることを知っていますか?

よろしくお願いします。

これを達成するための他のノードモジュールを知っている人がいたら、教えてください。node-soap を使用しようとしましたが、必要なすべての依存関係で迷子になりました: python、Visual Studio ... サーバーへの数回の SOAP 呼び出しを行うには、これらすべてが本当に必要ですか?

ありがとう

4

2 に答える 2

0

私にとってこれはうまくいきました:

    "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);
    });
于 2016-07-06T11:34:39.277 に答える