繁体   English   中英

从Node.js连接到SOAP服务器,产生ECONNRESET错误

[英]Connecting to SOAP server from Node.js producing ECONNRESET error

我正在尝试使用HTTP请求从Node.js连接到SOAP服务器。 但是,它或多或少立即产生了ECONNRESET错误。 我认为这与超时有关,但似乎无法解决。 我似乎无法弄清楚问题出在哪里。 端口,主机和路径均正确。

我的HTTP请求是:

  var postRequest = {
      host : "t1.webservice.secure.ddts.defra.gov.uk",
      path: "/defraDataTransferPublicNWSE.asmx",
      SOAPAction: "http://www.defra.gov.uk/TransferData",
      port: 443,
      method: "POST",
      headers: {
          'Content-Type': 'text/xml; charset=utf-8',
          'Content-Length': Buffer.byteLength(body2)
      }
  };

  var buffer = "";

  var req = http.request( postRequest, function( res )    {
     console.log( res.statusCode );
     var buffer = "";
     res.on( "data", function( data ) { buffer = buffer + data; } );
     res.on( "end", function( data ) { console.log( buffer ); } );
  });
  req.on('error', function(err) {
      console.log( "----ERROR----" ); console.log(err);
  });
  req.write( body2 );
  req.end();

首先,您必须使用https模块和http模块。

授权中心证书的下一个问题。

很简单,您可以将rejectUnauthorized选项设置为false ,但这不是很好。

最佳选择:

  • 从此页面下载Symantec Intermediate CA(ICA)证书( Symantec Class 3 Secure Server CA - G4
  • 安装模块ssl-root-cas
  • 在请求之前添加证书:

*

var sslRootCAs = require('ssl-root-cas/latest')
    .inject()`
    .addFile( __dirname + '/Symantec Class 3 Secure Server CA - G4.cer' );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM