1

我有一些示例代码,如下所示:

var soap = require('soap');
var url  = "http://www.example.com?wsdl";

var soapHeader = "<AuthHeader>...</AuthHeader>";

soap.createClient(url, function(err, client){
  client.addSoapHeader(soapHeader);

  var args = {
       'arg1': 1
    }
  };

  client.SomeMethod(args, function(err, result){
   if(err){

    throw err;

   }
   console.log(JSON.stringify(result));
  });
});

问题是由于我传递的标头或参数不正确,请求失败。如果我能看到整个请求体,调试起来会容易得多。这是怎么做的?

4

1 回答 1

2

不确定这是否仍然与您相关,但这里有:

var soap = require('soap');
var url  = "http://www.example.com?wsdl";

var soapHeader = "<AuthHeader>...</AuthHeader>";

soap.createClient(url, function(err, client){
  client.addSoapHeader(soapHeader);

  var args = {
       'arg1': 1
    }
  };

  client.SomeMethod(args, function(err, result){
   if(err){

    throw err;

   }
   console.log('last request: ', client.lastRequest);
   console.log(JSON.stringify(result));
  });
});

带有“lastRequest”的额外console.log 语句将显示正在发送的XML 请求,可用于调试。希望这可以帮助。

于 2018-08-10T01:23:22.130 回答