节点SOAP WSDL请求不完整(只有一些块)

我无法使用node-soap npm模块访问SOAP Web服务。

这就是我想要的:

var url = 'https://ws-uat.ewinerysolutions.com/2.00/EWSWebServices.asmx?wsdl'; soap.createClient(url, function(err, client) { if(err) { console.log(err); } console.log(client.describe()); } 

这不会出错,但会logging一个空的对象。 检查client显示返回的XML被截断,这反过来使node-soap模块不能构build适当的客户端。 XML的确切长度在16348字节的数量上波动。 如果我移动WSDL以引用本地文件,则client.describe()将按预期执行,并且对Web服务的调用也可用。 然而,对这种请求的更长的回应也会以类似的方式截断。 这导致我相信有一些东西在所有的数据块被接收之前closures了连接,所以我检出了请求 npm模块(也与节点打包在一起)。

为了解决这个问题,我试图使用请求模块来检索WSDL :

 var request = require('request'); var body = ""; request.get('https://ws-uat.ewinerysolutions.com/2.00/EWSWebServices.asmx?wsdl') .on('data', function(data){ body += data; }).on('end', function() { console.log(body); }) 

查看返回被截断的XML正文的实时版本 。

我已经有了这些工作之前,这些相同的库,只是为了确保我已经尝试运行相同的程序与一系列旧版本的依赖库。

我对这个东西也还是比较新的,所以任何帮助/指针都将不胜感激!

原来,我需要添加连接:“保持活力”的请求标题。 在node-soap库中,可以直接在lib / http.js:46中设置。