如何使用 node-soap 查看请求正文

ran*_*its 2 soap node.js node-soap

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

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));
  });
});
Run Code Online (Sandbox Code Playgroud)

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

小智 5

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

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));
  });
});
Run Code Online (Sandbox Code Playgroud)

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